軟件課程設(shè)計(jì)報(bào)告_第1頁
軟件課程設(shè)計(jì)報(bào)告_第2頁
軟件課程設(shè)計(jì)報(bào)告_第3頁
軟件課程設(shè)計(jì)報(bào)告_第4頁
軟件課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、編號(hào):( )字 號(hào)軟件課程設(shè)計(jì)報(bào)告班 級(jí): 網(wǎng)絡(luò)10-01 姓 名: 學(xué) 號(hào): 指導(dǎo)老師: 中國礦業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院2011 年 10 月軟件課程設(shè)計(jì)任務(wù)書專業(yè)年級(jí): 網(wǎng)絡(luò)10-01 學(xué)生姓名: 孫華 任務(wù)下達(dá)日期: 200 年 月 日課程設(shè)計(jì)日期: 200 年 月 日至 200年 月 日課程設(shè)計(jì)題目: 面向過程 (題目序號(hào)) 類別題目序號(hào)成績面向過程1.求立方根。2.反序求和。面向?qū)ο?復(fù)數(shù)運(yùn)算。2日期運(yùn)算。圖形界面1.通過mfcappwizard創(chuàng)建一個(gè)計(jì)算器(2)數(shù)據(jù)結(jié)構(gòu)2. 假設(shè)有一個(gè)循環(huán)鏈表的長度大于1,且表中既無頭結(jié)點(diǎn)也無頭指針已知p為指向鏈表中某結(jié)點(diǎn)的指針,試編寫算法在鏈

2、表中刪除結(jié)點(diǎn)p 的前趨結(jié)點(diǎn)4.設(shè)計(jì)一個(gè)統(tǒng)計(jì)選票的算法,輸出每個(gè)候選的得票結(jié)果(假設(shè)采用單鏈表存放選票,候選人編號(hào)依次為1,2,3,n,且每張選票選且只選一人)(1、3).軟件課程設(shè)計(jì)指導(dǎo)教師評(píng)閱書指導(dǎo)教師評(píng)語(基礎(chǔ)理論及基本技能的掌握;獨(dú)立解決實(shí)際問題的能力;研究內(nèi)容的理論依據(jù)和技術(shù)方法;取得的主要成果及創(chuàng)新點(diǎn);工作態(tài)度及工作量;總體評(píng)價(jià)及建議成績;存在問題等):成 績: 指導(dǎo)教師簽字: 年 月 日目錄一、 面向過程設(shè)計(jì)題1-求立方根1.1 需求分析 .91.2 概要設(shè)計(jì).101.3 詳細(xì)設(shè)計(jì)與編碼.111.4 調(diào)試分析.131.5 用戶使用說明 .131.6 設(shè)計(jì)心得.13二、面向過程設(shè)計(jì)題

3、2-反序求和 2.1 需求分析132.2 概要設(shè)計(jì).142.3 詳細(xì)設(shè)計(jì)與編碼.162.4 調(diào)試分析.172.5 用戶使用說明 .172.6 設(shè)計(jì)心得.17三、面向?qū)ο笤O(shè)計(jì)題1-復(fù)數(shù)運(yùn)算。3.1 需求分析173.2 概要設(shè)計(jì).193.3 詳細(xì)設(shè)計(jì)與編碼.213.4 調(diào)試分析.223.5 用戶使用說明 .223.6 設(shè)計(jì)心得.22四、面向過程設(shè)計(jì)題2-日期運(yùn)算。4.1 需求分析224.2 概要設(shè)計(jì).234.3 詳細(xì)設(shè)計(jì)與編碼.254.4 調(diào)試分析.254.5 用戶使用說明 .254.6 設(shè)計(jì)心得.25五、圖形界面1-計(jì)算器(計(jì)算器.rar)5.1 需求分析 .265.2 概要設(shè)計(jì).265.3 詳

4、細(xì)設(shè)計(jì)與編碼.285.4 調(diào)試分析.285.5 用戶使用說明 .295.6 設(shè)計(jì)心得.29六、數(shù)據(jù)結(jié)構(gòu)2-刪除結(jié)點(diǎn)p 的前趨結(jié)點(diǎn)(數(shù)據(jù)結(jié)構(gòu)2.cpp)6.1 需求分析306.2 概要設(shè)計(jì).306.3 詳細(xì)設(shè)計(jì)與編碼.346.4 調(diào)試分析.356.5 用戶使用說明 .356.6 設(shè)計(jì)心得.35七、數(shù)據(jù)結(jié)構(gòu)4-統(tǒng)計(jì)選票(數(shù)據(jù)結(jié)構(gòu)3.cpp)7.需求分析.367.概要設(shè)計(jì).377.詳細(xì)設(shè)計(jì)與編碼.397.調(diào)試分析.417.用戶使用說明 .417.設(shè)計(jì)心得.41八、課程設(shè)計(jì)總結(jié) 42窗體底端第一階段 面向過程程序設(shè)計(jì)1 編程序 用迭代法求 a 的立方根,求立方根的迭代公式為 :xi+1=(2*xi)

5、/3+a/(3*xi*xi) a,迭代到|xi+1迭代到|xi+1 次方為止. 的值, 假定 x 的初值為 a,迭代到|xi+1-xi|=1e-5是(4)調(diào)試分析: 在編寫程序時(shí)可能考慮不周到,會(huì)導(dǎo)致在運(yùn)行時(shí)出現(xiàn)一些問題,如陷入死 循環(huán)這是就需要根據(jù)錯(cuò)誤提示逐步找出問題的出處,并解決它比如說循環(huán)的 條件判斷錯(cuò)誤,這時(shí)你就要從判斷條件入手找出問題,分析正確的條件是什么 (5)用戶使用說明: 只要根據(jù)屏幕所顯示的提示操作就能得到正確的數(shù)據(jù),開始時(shí)屏幕會(huì)顯示“輸入一個(gè)整數(shù)”。(6)測(cè)試分析: 當(dāng)分別輸入 10、5、9 時(shí),所得到的數(shù)據(jù)都為精確到小數(shù)點(diǎn)后 5 位的數(shù)值, 說明精確度正確(7)設(shè)計(jì)體會(huì):

6、在編此程序時(shí),學(xué)習(xí)到怎樣進(jìn)行需求分析如何利用循環(huán)來進(jìn)行多次數(shù)值 運(yùn)算,并正確的結(jié)束此循環(huán)同時(shí)還知道要想驗(yàn)證一個(gè)程序算得的數(shù)值是否正確 可以用兩種不同的方法來驗(yàn)證 編程序, 與其反序數(shù)之和并輸出例如此題我還加了個(gè)循環(huán)可以多次輸入!2 編程序,從鍵盤輸入正整數(shù) n,求出 n 與其反序數(shù)之和并輸出。例如,輸入 2038, 2038+8302=10340。 2038,輸出應(yīng)為 2038+8302=10340。(1) 需求分析: 編程序,從鍵盤輸入正整數(shù) n,求出 n 與其反序數(shù)之和并輸出。 輸入和輸出都為整型數(shù)據(jù)。 測(cè)試的數(shù)據(jù)如下圖運(yùn)行結(jié)果所示。設(shè)計(jì)一個(gè)程序可以實(shí)現(xiàn)求其與其反序數(shù)之和。根據(jù)題目要求,規(guī)

7、定如下:測(cè)試數(shù)據(jù):【輸入數(shù)據(jù)】:852456【輸出數(shù)據(jù)】:654258和1506714【輸入數(shù)據(jù)】:963123【輸出數(shù)據(jù)】:321369和1284492 【輸入數(shù)據(jù)】:745962【輸入數(shù)據(jù)】:269547和1015509【輸入數(shù)據(jù)】:981365【輸入數(shù)據(jù)】:563189和1544554(2)概要設(shè)計(jì): 概要設(shè)計(jì): 先定義整型變量,主程序利用循環(huán)分別求出次數(shù)的位數(shù)和其反序數(shù)。再將 該數(shù)與其反序數(shù)相加輸出。(1)定義長整形變量a、c、b,其中a為用戶輸入值,,c用于存儲(chǔ)輸入值,b用于存儲(chǔ)反序數(shù),定義整形變量x用于中間變量;(2)求反序數(shù)并存儲(chǔ)于b中;(3)輸出d=c+b的值。(4)主程序流程

8、:第一步:讓用戶輸入一個(gè)整數(shù)a,并存于i中;第二步:進(jìn)入while循環(huán)計(jì)算其反序數(shù);第三步:求輸出d的值。 (3) 詳細(xì)設(shè)計(jì)與編碼:(1) 流程圖:用戶輸入a,并存儲(chǔ)于c中進(jìn)入while循環(huán)判斷條件a!=0a=0d=a+b=輸出結(jié)果 程序:已提交;修改后可以多次輸入,顯示更加人性化!運(yùn)行結(jié)果:(4) 調(diào)試分析: 在編程時(shí),遇到把%與/號(hào)搞混的現(xiàn)象,結(jié)果導(dǎo)致計(jì)算數(shù)據(jù)的嚴(yán)重錯(cuò)誤。通過看和 詢問才知道自己的錯(cuò)誤的原因。在發(fā)現(xiàn)原因之前,想完成此編程很不容易,只要 熟練的掌握好整除號(hào)和除號(hào)的區(qū)別,解決此題應(yīng)該不難。 (5) 用戶使用說明: 只要根據(jù)屏幕所顯示的提示操作就能得到正確的數(shù)據(jù)。 如:屏幕上有:

9、“輸入一個(gè)數(shù)”,用戶輸入該數(shù)的值,按回車鍵就可得到結(jié) 果了。(6) 測(cè)試分析: 當(dāng)輸入 852456 這個(gè)整數(shù)時(shí),得到為6 位的整數(shù),反序數(shù)為:654258,總和為:1506714 符合計(jì)算的需求,程序通過。(7) 設(shè)計(jì)體會(huì): 在編程時(shí),遇到把%與/號(hào)搞混的現(xiàn)象,結(jié)果導(dǎo)致計(jì)算數(shù)據(jù)的嚴(yán)重錯(cuò)誤。通過 看書和詢問才知道自己的錯(cuò)誤的原因。所以說在計(jì)算機(jī)編程時(shí),特別是那些大的 程序需要大家共同合作完成。 可能在自己看來還能通過的程序在別人眼里就存在 一些缺陷,所以共同合作才能共同進(jìn)步。 編程序,使用如下所謂的簡單變量“數(shù)據(jù)平移”第二階段 面向?qū)ο蟪绦蛟O(shè)計(jì)1. 自定義一個(gè)示意性的復(fù)數(shù)類型complex,其

10、中含有若干個(gè)成員函數(shù),使用該類可以完成復(fù)數(shù)的加法以及對(duì)復(fù)數(shù)的輸出。請(qǐng)完成類定義,并編制主函數(shù),說明complex類對(duì)象,對(duì)定義的各成員函數(shù)進(jìn)行調(diào)用。class complexdouble real; /復(fù)數(shù)實(shí)部double imag; /復(fù)數(shù)虛部public:complex(); /無參構(gòu)造函數(shù)complex(double r, double i); /2參構(gòu)造函數(shù)complex addcom(complex c2); /調(diào)用者對(duì)象與對(duì)象c2相加,返回complex類對(duì)象void outcom (); /輸出調(diào)用者對(duì)象的有關(guān)數(shù)據(jù)(各分量) ;進(jìn)一步,在類中添加對(duì)復(fù)數(shù)進(jìn)行其他基本運(yùn)算(如,復(fù)數(shù)減

11、、乘、除、取模等)的相應(yīng)成員函數(shù),并通過主函數(shù)處的調(diào)用來驗(yàn)證各函數(shù)的使用正確性。(1) 需求分析: 編寫一個(gè)程序讓它實(shí)現(xiàn)復(fù)數(shù)的運(yùn)算法則,要求定義一個(gè)complex類,兩個(gè)私有數(shù)據(jù)real和imag,同時(shí)定義一個(gè)構(gòu)造函數(shù),聲明一些運(yùn)算函數(shù),我這里以加法和減法為例。(2) 概要設(shè)計(jì):主要是設(shè)計(jì)一個(gè)類同時(shí)含有構(gòu)造函數(shù),把real和imag定義為private,其余的為public,同時(shí)在類外定義成員函數(shù),最后設(shè)計(jì)主函數(shù)。(3) 詳細(xì)設(shè)計(jì)與編碼:已提交; 運(yùn)行結(jié)果:(4) 調(diào)試分析:在做出這個(gè)程序之前我遇到了一些問題,后來經(jīng)過老師的指點(diǎn),終于明白了原來是工作區(qū)重復(fù)了,這個(gè)程序是之前的改進(jìn),我加了減法,

12、而且改變了輸出的方式使之更美觀。(5) 用戶使用說明:這個(gè)程序不用用戶輸入任何數(shù)據(jù),只是個(gè)驗(yàn)證程序,當(dāng)然也能改為讓用戶輸入的類型。(6) 測(cè)試分析:可以說這個(gè)程序相當(dāng)?shù)某晒?,只是由于時(shí)間的原因沒有把乘法、除法、求模寫出來。(7) 設(shè)計(jì)體會(huì):通過本次程序設(shè)計(jì),我學(xué)到了許多新的知識(shí),比如一些新的錯(cuò)誤。同時(shí)也發(fā)現(xiàn)我的基礎(chǔ)還是不牢固,還有待加強(qiáng)!2. 自定義一個(gè)簡單的日期類datetype,它具有數(shù)據(jù)成員y、m、d,用來表示當(dāng)前日期的年、月、日。而后設(shè)計(jì)該類欲實(shí)現(xiàn)(完成)的功能,進(jìn)而設(shè)計(jì)出相應(yīng)的類成員函數(shù)。例如,下面給出的“雛形”可用來實(shí)現(xiàn)對(duì)天的增加,比較兩個(gè)日期是否相等,以及對(duì)日期的輸出等操作。請(qǐng)完

13、成各類成員函數(shù),并編制主函數(shù),說明datetype類對(duì)象,對(duì)定義的各成員函數(shù)進(jìn)行調(diào)用,以驗(yàn)證它們的正確性。class datetype /自定義的日期類datetypeint y,m,d; /數(shù)據(jù)成員,表示當(dāng)前日期的年、月、日public:datetype(int y0=1, int m0=1, int d0=1); /構(gòu)造函數(shù),設(shè)定年、月、日;并設(shè)置參數(shù)默認(rèn)值void incrementday(); /增加1天 bool equal(datetype dt2); /判斷二日期是否相等 void printdate(); /屏幕輸出日期對(duì)象的有關(guān)數(shù)據(jù)(年、月、日);注意,當(dāng)對(duì)日期增加1天后,也

14、會(huì)涉及所謂的“進(jìn)位”問題:首先算出本“日”所在的月份具有的天數(shù)n,若加1之后的“日”數(shù)值超過所在的月份具有的天數(shù)n時(shí),“進(jìn)位”到月,而月份若超過12時(shí)還要“進(jìn)位”到年。思考:可對(duì)該類增加你所考慮到的其他功能,如,對(duì)日期進(jìn)行輸入,計(jì)算二日期的間隔天數(shù),計(jì)算某日期為星期幾,打印對(duì)象當(dāng)前數(shù)據(jù)的y年m月的月歷,一次增加若干天,對(duì)兩個(gè)日期進(jìn)行其他比較運(yùn)算等。(1) 需求分析: 由于這個(gè)程序涉及到日期運(yùn)算,就不得不考慮到閏年的判斷、大月份和小月份的判斷,還要判斷真假引入bool函數(shù),同時(shí)還要構(gòu)造類。(2) 概要設(shè)計(jì):首先設(shè)計(jì)一個(gè)類,將y、m、d定義為private,其余是public。在void incr

15、ementday()中運(yùn)用以前面向過程中閏年判斷的方法,然后再判斷是否要進(jìn)位,在類外定義一個(gè)bool形函數(shù)如果兩個(gè)日期相等輸出真,反之則為假。最后,設(shè)計(jì)一個(gè)輸出函數(shù)要注意可讀性和美觀性。(3) 詳細(xì)設(shè)計(jì)與編碼:已提交;修改后可以多次輸入。運(yùn)行結(jié)果:(4) 調(diào)試分析:剛開始的時(shí)候把ttt.printdate()放前面而tt.printdate()放后面,結(jié)果首先輸出的是后面的數(shù),而實(shí)際加的是放后面的那個(gè)數(shù)。(5) 用戶使用說明:個(gè)人覺得這個(gè)程序用戶使用起來很容易操作,開始屏幕上面就輸出“輸入兩個(gè)日期”,用戶只需輸入兩個(gè)數(shù)按回車鍵就行了,為了能重復(fù)驗(yàn)證結(jié)果,我利用了一個(gè)for循環(huán)函數(shù)。(6) 測(cè)試分析:這個(gè)程序相當(dāng)?shù)某晒Γ?7) 設(shè)計(jì)體會(huì):很高興!用學(xué)到了一些新的錯(cuò)誤!3. 編程序,按如下方法求a矩陣的轉(zhuǎn)置矩陣b:輸入兩個(gè)正整數(shù)m和n,而后通過使用指針

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論