



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、長江學(xué)院信息工程系程序設(shè)計(jì)綜合課程設(shè)計(jì)報(bào)告( 2015/2016 學(xué)年 第一學(xué)期)學(xué)生姓名:方新盛學(xué)生班級:1530501學(xué)生學(xué)號:201530050116指導(dǎo)教師 :戴晟輝2016年1月6日目錄一 課程設(shè)計(jì)目的及要求1二課程設(shè)計(jì)任務(wù)和內(nèi)容1三 設(shè)計(jì)說明21主要流程圖.22課程設(shè)計(jì)思想 33詳細(xì)設(shè)計(jì) 43.1登陸模塊43.2加法模塊63.3減法模塊73.4混合模塊93.5 運(yùn)算結(jié)果103.6使用軟件12四 課程設(shè)計(jì)感想12五 參考文獻(xiàn)13六 附件(程序代碼)14小學(xué)生測驗(yàn)課程設(shè)計(jì)報(bào)告一、課程設(shè)計(jì)目的及要求(1)提高和加強(qiáng)自己的計(jì)算機(jī)應(yīng)用與軟件開發(fā)能力,使自己由初學(xué)者向?qū)I(yè)的程序員過渡。(2)培
2、養(yǎng)自己獨(dú)立分析問題、解決問題、查閱資料以及自學(xué)能力,以適應(yīng)計(jì)算機(jī)產(chǎn)業(yè)日新月異發(fā)展的形勢,綜合運(yùn)用所學(xué)知識,解決實(shí)際問題,全面提高學(xué)生的程序設(shè)計(jì)能力和開發(fā)能力。(3)學(xué)習(xí)和掌握 C+面向?qū)ο蟪绦蛟O(shè)計(jì)方法以及上機(jī)調(diào)試技巧, 為今后學(xué)習(xí)其它專業(yè)課程打好堅(jiān)實(shí)的基礎(chǔ)。(4)檢測自己在這一學(xué)期對 C+面向?qū)ο蟮膶W(xué)習(xí)及掌握情況。知道自己的不足,及時(shí)的彌補(bǔ)。為以后的學(xué)習(xí)打下一定的基礎(chǔ),也為自己以后如何制定學(xué)習(xí)計(jì)劃做一鋪墊。二.課程設(shè)計(jì)任務(wù)和內(nèi)容功能齊全:界面操作靈活方便,至少實(shí)現(xiàn)以下基本功能:電腦隨機(jī)出 10 道題,每題 10 分,程序結(jié)束時(shí)顯示學(xué)生得分;確保算式?jīng)]有超出 12年級水平,只允許進(jìn)行 50 以內(nèi)
3、的加減法,不允許兩數(shù)之和或之差超出050 的范圍,負(fù)數(shù)更是不允許的;每道題學(xué)生有三次機(jī)會輸入答案,當(dāng)學(xué)生輸入錯(cuò)誤答案時(shí),提醒學(xué)生重新輸入,如果三次機(jī)會結(jié)束則輸出正確答案;對于每道題目, 學(xué)生第一次輸入正確答案得 10 分,第二次輸入正確答案得 7 分,第三次輸入正確答案得 5 分,否則不得分;總成績 90 分以上現(xiàn)實(shí)“ SMART”,8090 分顯示“ GOOD”,7080分顯示“ OK”,6070 分顯示“ PASS”, 60 分以下顯示“ TRY AGAIN”。第 1 頁三設(shè)計(jì)說明1.主要流程圖開始Main 函數(shù)登陸模塊選擇12其他加法運(yùn)算減法運(yùn)算混合運(yùn)算否一次答對是二次答對否是否三次答對
4、10分7分5分0分輸出得分結(jié)束第2頁2. 課程設(shè)計(jì)思想在 main() 主函數(shù)中定義STUDENT student;對象,并調(diào)用 student.Input();信息輸入,在登錄模塊程序采用了調(diào)用以及輸入輸出函數(shù)!當(dāng)用戶輸入自己的學(xué)號以及姓名開始使用本系統(tǒng),進(jìn)入登陸模塊。屏幕顯示菜單提示,用戶可根據(jù)需要選擇相應(yīng)功能。如下:請選擇測試項(xiàng)目,加法請按1,減法請按 2,混合運(yùn)算請按任意鍵。student.Test();進(jìn)行選擇,是加法,減法,還是加減法都有, student.Test()調(diào)用 add() 函數(shù), sub 函數(shù), addsub 函數(shù),當(dāng)用戶選擇 1 進(jìn)行加法計(jì)算,選擇2 進(jìn)行加法運(yùn)算,
5、選擇任意鍵進(jìn)行加減混合運(yùn)算選擇相應(yīng)的函數(shù)其思路相同,用for(a=rand()%51,b=rand()%51;a+b>50 | a+b<0 ; a=rand()%51,b=rand()%51;是 假 發(fā) 運(yùn) 算 的 控 制 , for(a=rand()%51,b=rand()%51;a-b>50|a-b<0;a=rand()%51,b=rand()%51 ;減法運(yùn)算, for(a=rand()%51,b=rand()%51;a-b>50| a-b<0|a+b>50|a+b<0;a=rand()%51,b=rand()%51 ;選擇了 for(in
6、t i=1;i<=10;i+) 函數(shù)控制題, a=rand()%51,b=rand()%51 ;產(chǎn)生隨機(jī)數(shù)的函數(shù) rand ,rand()%51 是產(chǎn)生的隨機(jī)數(shù)都小于 50, a+b>50|a+b<0|a-b>50 | a-b<0 ,a,b 兩數(shù)的和,差大于 0 小于 50,確保算式?jīng)]有超出 12 年級水平,只允許進(jìn)行 50 以內(nèi)的加減法,不允許兩數(shù)之和或之差超出050 的范圍,負(fù)數(shù)更是不允許的;再用for(intj=1;j<=3;j+)控制三次答題機(jī)會,如果第一次學(xué)生答題錯(cuò)誤系統(tǒng)會提示還有答題錯(cuò)誤,還有倆次機(jī)會,否則就給出第一次答題正確的分?jǐn)?shù)10 分,如果
7、第二次學(xué)生答題錯(cuò)誤系統(tǒng)會提示還有答題錯(cuò)誤,還有一次機(jī)會,否則就給出第三次答題正確的分?jǐn)?shù) 7 分,如果第三次學(xué)生答題錯(cuò)誤系統(tǒng)會提示還有答題錯(cuò)誤,沒有做題機(jī)會,系統(tǒng)給出正確的答案,否則就給出第三次答題正確的分?jǐn)?shù)5 分,實(shí)現(xiàn)這幾部很簡單采用了 if ,else 語句判斷, scorei!=trueValue當(dāng)輸入值等于正確答案時(shí), 走 else語句判斷得分情況,否則給出答題機(jī)會;每次做對一題 flag=1 ,統(tǒng)計(jì)做對題的個(gè)數(shù) zen=zen+flag; sum 統(tǒng)計(jì)的分情況 sum=sum+scorei; 當(dāng)?shù)谝淮巫鰧︻}則 first=1表示僅一次做對題, first1=first1+first;統(tǒng)
8、計(jì)僅一次做對題的個(gè)數(shù), second 表示倆次做對題, second1=second1+second 統(tǒng)計(jì)倆次做對題的個(gè)數(shù),third表示三次做對題 third1=third1+third;統(tǒng)計(jì)三次做對題的個(gè)數(shù) , 那么答錯(cuò)題的個(gè)數(shù)10-zen ,而答題的正確率為得分除以100 乘以 100%,第 3 頁3. 詳細(xì)設(shè)計(jì)3.1 登錄模塊3.11 登錄模塊程序void main()cout<<"一二年級測試題"<<endl<<endl;cout<<" * 小 學(xué) 數(shù)學(xué) 測試 軟件 * "<<endl
9、;cout<<"*n"STUDENT student;/定義一個(gè)對象while(1)student.Input();/信息輸入student.Test();/進(jìn)行選擇,是加法,減法,還是都有cout<<"do you want to continue?(Y/N)"char ch;cin>>ch;if(ch='n'|ch='N')break;/=voidSTUDENT:Input()cout<<"請輸入你的學(xué)號: "cin>>Num;cout&l
10、t;<"請輸入你的姓名: "cin>>Name;cout<<"*"<<endl;/= void STUDENT:Test()cout<<"請選擇測試項(xiàng)目,加法請按 1 ,減法請按 2 ,混合運(yùn)算請按任意鍵。 "<<endl;int Stest;cin>>Stest;switch(Stest)第 4 頁case 1:Add();Output();break;case 2:Sub();Output();break;default:AddSub();Output(
11、);break;主要完成功能為:當(dāng)用戶輸入自己的學(xué)號以及姓名開始使用本系統(tǒng),進(jìn)入登陸模塊。屏幕顯示菜單提示,用戶可根據(jù)需要選擇相應(yīng)功能。具體如下:請選擇測試項(xiàng)目,加法請按 1 ,減法請按 2 ,混合運(yùn)算請按任意鍵 。主要使用思想 :在 main() 主函數(shù)中定義 STUDENT student 對象 2 ,并調(diào)用 student.Input(); 信息輸入, student.Test(); 進(jìn)行選擇,是加法,減法,還是加減法都有,在登錄模塊程序采用了調(diào)用以及輸入輸出函數(shù)!關(guān)鍵代碼STUDENTstudent;/定義一個(gè)對象 2while(1)student.Input();/信息輸入stude
12、nt.Test();/進(jìn)行選擇,是加法,減法,還是都有cout<<"do you want to continue?(Y/N)"char ch;cin>>ch;if(ch='n'|ch='N')break;第 5 頁main()主函數(shù)四While個(gè)函數(shù)輸出語句調(diào)用調(diào)用student.Istudent.Tnput() 函est()函數(shù)數(shù)3.2 加法運(yùn)算模塊主要完成功能為:當(dāng)用戶選擇了1 加法測試,屏幕隨機(jī)出現(xiàn)10 道加法測試題進(jìn)行計(jì)算。主要使用思想 :STUDENT:Sub() 函數(shù)for(inti=1;i<=10
13、;i+)函數(shù)控制題10 道題for(a=rand()%51,b=rand()%51;a+b>50| a+b<0 ; a=rand()%51,b=rand()%51)for(intj=1;j<=3;j+)控制三次答題機(jī)會if(scorei!=trueValue)控Else 每次答對題的得分制有三次輸入的機(jī)會當(dāng)用戶選擇1 進(jìn)行加法計(jì)算時(shí),則選擇了STUDENT:add()函數(shù)for(int第 6 頁i=1;i<=10;i+)函數(shù)控制題10 道題, for(a=rand()%51,b=rand()%51;a-b>50 |a-b<0 ; a=rand()%51,b=
14、rand()%51 產(chǎn)生 ) 隨機(jī)數(shù)的函數(shù) rand ,rand()%51 是產(chǎn)生的隨機(jī)數(shù)都小于 50, a+b>50 | a+b<0 , a,b 兩數(shù)的和大于 0 小于 50,確保算式?jīng)]有超出 12 年級水平,只允許進(jìn)行 50 以內(nèi)的加減法,不允許兩數(shù)之和或之差超出050的范圍,負(fù)數(shù)更是不允許的;再用for(int j=1;j<=3;j+)控制三次答題機(jī)會,如果第一次學(xué)生答題錯(cuò)誤系統(tǒng)會提示還有答題錯(cuò)誤,還有倆次機(jī)會,否則就給出第一次答題正確的分?jǐn)?shù) 10 分,如果第二次學(xué)生答題錯(cuò)誤系統(tǒng)會提示還有答題錯(cuò)誤,還有一次機(jī)會,否則就給出第三次答題正確的分?jǐn)?shù) 7 分,如果第三次學(xué)生答題
15、錯(cuò)誤系統(tǒng)會提示還有答題錯(cuò)誤,沒有做題機(jī)會,系統(tǒng)給出正確的答案,否則就給出第三次答題正確的分?jǐn)?shù)5 分,實(shí)現(xiàn)這幾部很簡單采用了if , else 語 句判斷,scorei!=trueValue當(dāng)輸入值等于正確答案時(shí), 走 else語句判斷得分情況, 否則給出答題機(jī)會;每次做對一題flag=1 ,統(tǒng)計(jì)做對題的個(gè)數(shù)zen=zen+flag; sum統(tǒng)計(jì)的分情況 sum=sum+scorei;當(dāng)?shù)谝淮巫鰧︻}則first=1表示僅一次做對題,first1=first1+first;統(tǒng)計(jì)僅一次做對題的個(gè)數(shù),second 表示倆次做對題,second1=second1+second 統(tǒng) 計(jì)倆 次做 對題 的個(gè)
16、 數(shù), third表 示三 次 做 對題third1=third1+third;統(tǒng)計(jì)三次做對題的個(gè)數(shù) , 那么答錯(cuò)題的個(gè)數(shù)10-zen ,而答題的正確率為得分除以100 乘以 100%,3.3 減法運(yùn)算模塊主要完成功能為:當(dāng)用戶選擇了2 減法測試,屏幕隨機(jī)出現(xiàn)10 道減法測試題進(jìn)行計(jì)算。主要使用思想 :第 7 頁STUDENT:Sub() 函數(shù)for(inti=1;i<=10;i+)函數(shù)控制題10 道題for(a=rand()%51,b=rand()%51;a-b>50| a-b<0 ; a=rand()%51,b=rand()%51)for(intj=1;j<=3;j
17、+)控制三次答題機(jī)會if(scorei!=trueValue)控Else 每次答對題的得分制有三次輸入的機(jī)會當(dāng)用戶選擇 2 進(jìn)行加法計(jì)算時(shí),則選擇了 STUDENT:Sub()2 函數(shù) for(int i=1;i<=10;i+) 函數(shù)控制題 10 道題, for(a=rand()%51,b=rand()%51;a-b>50 | a-b<0 ; a=rand()%51,b=rand()%51 產(chǎn)生 ) 隨機(jī)數(shù)的函數(shù) rand3 ,rand()%51 是產(chǎn)生的隨機(jī)數(shù)都小于 50,a-b>50 | a-b<0 ,a,b 兩數(shù)的差大于 0 小于 50,確保算式?jīng)]有超出 1
18、2 年級水平,只允許進(jìn)行 50 以內(nèi)的加減法,不允許兩數(shù)之和或之差超出 050 的范圍,負(fù)數(shù)更是不允許的;再用 for(int j=1;j<=3;j+) 控制三次答題機(jī)會,如果第一次學(xué)生答題錯(cuò)誤系統(tǒng)會提示還有答題錯(cuò)誤,還有倆次機(jī)會,否則就給出第一次答題正確的分?jǐn)?shù) 10 分,如果第二次學(xué)生答題錯(cuò)誤系統(tǒng)會提示還有答題錯(cuò)誤,還有一次機(jī)會,否則就給出第三次答題正確的分?jǐn)?shù)7 分,如果第三次學(xué)生答題錯(cuò)誤系統(tǒng)會提示還有答題錯(cuò)誤,沒有做題機(jī)會,系統(tǒng)給出正確的答案,否則就給出第三次答題正確的分?jǐn)?shù)5 分,實(shí)現(xiàn)這幾部很簡單采用了if , else 語句判斷,scorei!=trueValue當(dāng)輸入值等于正確答
19、案時(shí), 走 else語句判斷得分情況, 否則給出答題機(jī)會;每次做對一題flag=1 ,統(tǒng)計(jì)做對題的個(gè)數(shù)zen=zen+flag; sum統(tǒng)計(jì)的分情況 sum=sum+scorei;當(dāng)?shù)谝淮巫鰧︻}則first=1表示僅一次做對題,first1=first1+first;統(tǒng)計(jì)僅一次做對題的個(gè)數(shù),second 表示倆次做對題,second1=second1+second 統(tǒng) 計(jì)倆 次做 對題 的個(gè) 數(shù), third表 示三 次 做 對題third1=third1+third;統(tǒng)計(jì)三次做對題的個(gè)數(shù) , 那么答錯(cuò)題的個(gè)數(shù)10-zen ,而答題的正確率為得分除以100 乘以 100%,第 8 頁3.4 加
20、減混合運(yùn)算模塊主要完成功能為 :當(dāng)用戶選擇了其它任意數(shù)字鍵加減混合法測試,屏幕隨機(jī)出現(xiàn) 10 道加減法測試題進(jìn)行計(jì)算。主要使用思想 :STUDENT:addSub() 函數(shù)for(inti=1;i<=10;i+)函數(shù)控制題10 道題c=rand()%3;C=1 加法C=2 減法 ;for(a=rand()%51,b=rand()%51;a+b>50|a+b<0| a-b>50 | a-b<0; a=rand()%51,b=rand()%51)for(intj=1;j<=3;j+)控制三次答題機(jī)會if(scorei!=trueValue)控Else 每次答對題
21、的得分制有三次輸入的機(jī)會當(dāng)用戶選擇1 進(jìn)行加法計(jì)算時(shí),則選擇了STUDENT:add()函數(shù) 2for(inti=1;i<=10;i+)函數(shù)控制題10 道題, c=rand()%33,控制進(jìn)行加法還是減法運(yùn)算for(a=rand()%51,b=rand()%51;a+b>50|a+b<0|a-b>50|a-b<0;a=rand()%51,b= rand()%51) 產(chǎn)生 ) 隨機(jī)數(shù)的函數(shù) rand3 ,rand()%51 是產(chǎn)生的隨機(jī)數(shù)都小于 50,a+b>50 | a+b<0 | a-b>50 | a-b<0;a,b兩數(shù)的和,差大于0 小
22、于 50,確保算式?jīng)]有超出 12 年級水平,只允許進(jìn)行50 以內(nèi)的加減法,不允許兩數(shù)之和或之差第 9 頁超出 050 的范圍,負(fù)數(shù)更是不允許的;再用 for(int j=1;j<=3;j+) 控制三次答題機(jī)會,如果第一次學(xué)生答題錯(cuò)誤系統(tǒng)會提示還有答題錯(cuò)誤,還有倆次機(jī)會,否則就給出第一次答題正確的分?jǐn)?shù) 10 分,如果第二次學(xué)生答題錯(cuò)誤系統(tǒng)會提示還有答題錯(cuò)誤,還有一次機(jī)會,否則就給出第三次答題正確的分?jǐn)?shù)7 分,如果第三次學(xué)生答題錯(cuò)誤系統(tǒng)會提示還有答題錯(cuò)誤,沒有做題機(jī)會,系統(tǒng)給出正確的答案,否則就給出第三次答題正確的分?jǐn)?shù) 5分,實(shí)現(xiàn)這幾部很簡單采用了if ,else 語句判斷,scorei!=
23、trueValue當(dāng)輸入值等于正確答案時(shí), 走 else語句判斷得分情況, 否則給出答題機(jī)會;每次做對一題flag=1 ,統(tǒng)計(jì)做對題的個(gè)數(shù)zen=zen+flag; sum統(tǒng)計(jì)的分情況 sum=sum+scorei;當(dāng)?shù)谝淮巫鰧︻}則first=1表示僅一次做對題,first1=first1+first;統(tǒng)計(jì)僅一次做對題的個(gè)數(shù),second 表示倆次做對題,second1=second1+second 統(tǒng) 計(jì)倆 次做 對題 的個(gè) 數(shù), third表 示三 次 做 對題third1=third1+third;統(tǒng)計(jì)三次做對題的個(gè)數(shù) , 那么答錯(cuò)題的個(gè)數(shù)10-zen ,而答題的正確率為得分除以100
24、乘以 100%,3.5 每種運(yùn)算的實(shí)驗(yàn)結(jié)果3.5.1 加法運(yùn)算的實(shí)驗(yàn)結(jié)果第10頁3.5.2 減法運(yùn)算的實(shí)驗(yàn)結(jié)果第11頁3.5.3 加減混合運(yùn)算的實(shí)驗(yàn)結(jié)果3.6 使用軟件: Microsoft Visual C+ 6.0四課程設(shè)計(jì)感想這次課設(shè)使我受益匪淺,得以把以前學(xué)的凌亂知識點(diǎn)綜合運(yùn)用起來,對C+編程也有了更深一步的體會,同時(shí)感到綜合運(yùn)用知識還有一定的困難,發(fā)現(xiàn)自己有一些基礎(chǔ)知識還不很扎實(shí),需要勤加訓(xùn)練,加強(qiáng)記憶。在近三周的編程中我學(xué)到了很多,平時(shí)學(xué)習(xí)中不注意的細(xì)節(jié),在這次編程中深切體會到它的重要性。對編程中錯(cuò)誤的自我更正,增強(qiáng)了自我調(diào)試程序,解決問題的能力。總之,本次課設(shè)為我們提第12頁供了
25、一個(gè)檢測學(xué)習(xí),鍛煉能力,認(rèn)識不足的平臺,很高興能有這樣一個(gè)機(jī)會鍛煉自我! 小學(xué)生測驗(yàn)在很多情況下,特別是在眾多的科學(xué)研究領(lǐng)域中,一個(gè)時(shí)間跨度較大的程序是很有參考價(jià)值的。 C+面向?qū)ο蟪绦蛟O(shè)計(jì)語言充分發(fā)揮了其自身無與倫比的優(yōu)越性,用極短的程序文本填補(bǔ)了這一領(lǐng)域的空白,同時(shí)用鐵的事實(shí)強(qiáng)有力的告訴世人: C+面向?qū)ο蟪绦蛟O(shè)計(jì)語言作為計(jì)算機(jī)語言家族的新生事物,其發(fā)展前景是極為廣闊的。 經(jīng)過上一個(gè)學(xué)期對 C+面向?qū)ο蟪绦蛟O(shè)計(jì)的學(xué)習(xí),我們學(xué)習(xí)了理論知識,了解了 C+語言程序設(shè)計(jì)的思想,這些知識都為我們的下一步學(xué)習(xí)打下了堅(jiān)實(shí)的基礎(chǔ)。通過課程設(shè)計(jì),一方面是為了檢查我們一個(gè)學(xué)期來我們學(xué)習(xí)的成果,另一方面也是為了
26、讓我們進(jìn)一步的掌握和運(yùn)用它,同時(shí)也讓我們認(rèn)清自己的不足之處和薄弱環(huán)節(jié),加以彌補(bǔ)和加強(qiáng)。在編寫程序過程中也體會到了做事情一頂要細(xì)心、認(rèn)真。更加知道了要掌握好基礎(chǔ)知識。還有體會到了成功的感覺!在的設(shè)計(jì)過程中更加體會到了團(tuán)隊(duì)合作的重要性, “一個(gè)諸葛亮比不上三個(gè)臭皮匠。 ”知道了只有團(tuán)隊(duì)合作才會更好的完成設(shè)計(jì)!也體會到以后在工作中團(tuán)隊(duì)合作的必要性和重要性!通過本項(xiàng)課程設(shè)計(jì)也培養(yǎng)了我獨(dú)立思考、 綜合運(yùn)用所學(xué)有關(guān)相應(yīng)知識的能力,掌握 工程軟件設(shè)計(jì)的基本方法,強(qiáng)化上機(jī)動(dòng)手編程能力,闖過理論與實(shí)踐相結(jié)合的難關(guān)! 由于 C+語言是國內(nèi)外得到迅速推廣應(yīng)用的一種語言。 C+語言功能豐富,表達(dá)能力強(qiáng),使用靈活方便,
27、應(yīng)用面廣,目標(biāo)程序效率高,可移植性好,既具有高級語言的優(yōu)點(diǎn),又具有低級語言的許多特點(diǎn)。通過這次的 c+語言程序設(shè)計(jì)更加了解了 c+語言的好處和其可用性! 在這次課程設(shè)計(jì)中也知道了自己的動(dòng)手能力不強(qiáng)有待進(jìn)一部的提高!在設(shè)計(jì)過程中不能夠把書本上的知識與實(shí)踐相結(jié)合,這也就增加了設(shè)計(jì)不好該程序的想法!在設(shè)計(jì)過程中的一次次設(shè)計(jì)錯(cuò)誤增加了我放棄的想法!不過經(jīng)過大家的努力終于完成了課程設(shè)計(jì)!完成該程序后想起自己以前的每一次對自己失去信心,就覺得并不是在知識掌握上打敗了,而是自己對自己缺乏信心!只要自己對自己不失去信心相信就可以完成那些以前認(rèn)為完成不了的事情!也讓我懂得了要想成功首先就必須有很強(qiáng)的自信心!懂得
28、了自己以后要在做任何事情時(shí)都要自信!當(dāng)自己都不相信自己能夠成功時(shí)還可能會獲得成功嗎? 在 C+語言程序設(shè)計(jì)的過程中也知道了自己在以前的學(xué)習(xí)中有很大的不足導(dǎo)致在設(shè)計(jì)過程中出現(xiàn)了很多的問題,有些地方看不懂也不知道怎么去設(shè)計(jì),但是在設(shè)計(jì)過程中也學(xué)習(xí)了很多,掌握了自己以前沒有學(xué)好的知識,雖然一時(shí)可以掌握完以前沒有學(xué)好的知識,不過也給自己敲響了警鐘,在學(xué)習(xí)中不可以伏于表面,要想學(xué)好每一門課程都要踏踏實(shí)實(shí),做什么都不是給別人看的!都是要更好的掌握該門知識,提高自己的自身的修養(yǎng),提高自己的能力!為以后的工作打下良好的知識基礎(chǔ)和技能基礎(chǔ)!第13頁五參考文獻(xiàn)譚浩強(qiáng) .C+ 程序設(shè)計(jì)清華大學(xué)出版社2006鄭振杰
29、.C+ 程序設(shè)計(jì)北京:人 民郵電出版社 ,2005柴欣, C/C+程序設(shè)計(jì)河北大學(xué)出版社, 2002余蘇寧、王明福,C+程序設(shè)計(jì)北京:高等教育出版社,2003呂鳳翥.C+語言程序設(shè)計(jì)(第2版).電子工業(yè)出版社,2007.2李云清、楊慶紅、揭安全 .數(shù)據(jù)結(jié)構(gòu) M. 人民郵電大學(xué)出版社 ,2004.6六附件(程序代碼)#include<iostream>#include<iomanip>#include<time.h> /用到了 time 函數(shù),所以要有這個(gè)頭文件#include<stdlib.h>/用到了 srand 函數(shù),所以要有這個(gè)頭文件usi
30、ng namespace std;class STUDENT/ 定義一個(gè) STUDENT 類 private:char Num20;/學(xué)號char Name10;/姓名intage;/年齡intScore;/成績public:第14頁void Input();/ 信息輸入void Output();/輸出成績void Add();void Sub();void AddSub();void Test();/進(jìn)行選擇,是加法,減法,還是都有;void main() cout<<"* n"cout<<"* 小 學(xué) 數(shù) 學(xué) 測 試 軟 件 * &q
31、uot;<<endl;cout<<"一二年級測試題"<<endl;cout<<"(DesignedbyCMG)"<<endl;cout<<"* 小 學(xué) 數(shù) 學(xué) 測 試 軟 件 *"<<endl;cout<<"*n"STUDENT student ; / 定義一個(gè)對象while(1) student.Input();/信息輸入student.Test();/進(jìn)行選擇,是加法,減法,還是都有cout<<"
32、;do you want to continue?(Y/N)"char ch;cin>>ch;if(ch='n'|ch='N')break;/=voidSTUDENT:Input() cout<<"請輸入你的學(xué)號: "cin>>Num;cout<<"請輸入你的姓名: "cin>>Name;cout<<"請輸入你的年齡: "cin>>age;cout<<"*"<<end
33、l;/=voidSTUDENT:Test()第15頁 cout<<"請選擇測試項(xiàng)目: 加法請按 1 ,減法請按 2 ,混合運(yùn)算請按其他任意數(shù)字鍵 ."<<endl;int Stest;cin>>Stest;switch(Stest)case 1:Add();Output();break;case 2:Sub();Output();break;default:AddSub();Output();break;/=void STUDENT:Add()/ 加法運(yùn)算int a,b,score10,trueValue,sum=0,zen=0,flag
34、,first,second,third, first1=0,second1=0,third1=0;/* 數(shù) a=rand()%51,b=rand()%51 控制 a,b 的值不超過 50 sum 累計(jì)分?jǐn)?shù), flag=1 標(biāo)志答案正確, zen 為累計(jì)正確題的個(gè)數(shù) ,first 第一次正確的個(gè)數(shù), second第二次正確的個(gè)數(shù), third 第三次正確的個(gè)數(shù), first1 累計(jì)僅一次做對題的個(gè)數(shù), second1 為倆次才能完成題的個(gè)數(shù), third1 為三次做對題的個(gè)數(shù) */for(int i=1;i<=10;i+)/控制題 10 道題for(a=rand()%51,b=rand()
35、%51;a+b>50 | a+b<0 ; a=rand()%51,b=rand()%51) for(int j=1;j<=3;j+)/J 控制得分的情況 flag=0; first=0; second=0; third=0;cout<<"第 "<<i<<" 個(gè):"<<a<<"+"<<b<<"="trueValue=a+b;cin>>scorei;if(scorei!=trueValue) if(j=1)
36、 cout<<"答案錯(cuò)誤,你還有倆次機(jī)會,請重新輸入 "<<endl;scorei=0;/清空上次錯(cuò)誤答案第16頁elseif(j=2)cout<<"答案錯(cuò)誤,你還有最后一次機(jī)會, 請重新輸入 "<<endl; scorei=0; /清空上次錯(cuò)誤答案else cout<<"答案錯(cuò)誤,很遺憾你沒有做題的機(jī)會了 "<<endl;cout<<"正確答案是: "<<" : "<<trueValue
37、<<endl; scorei=0;else if(j=1) scorei=10;flag=1;first=1;elseif(j=2) scorei=7; flag=1; second=1;else scorei=5; flag=1; third=1;break;sum=sum+scorei;zen=zen+flag;/做對題的個(gè)數(shù)first1=first1+first;second1=second1+second;third1=third1+third;Score=sum;/總分?jǐn)?shù)cout<<"*統(tǒng)計(jì) *"<<endl;cout<&
38、lt;"共做對 "<<zen<<" 個(gè)題 "<<endl;cout<<"共做錯(cuò) "<<10-zen<<" 個(gè)題 "<<endl;cout<<"僅一次做對 "<<first1<<" 個(gè)題 "<<endl;第17頁cout<<"倆次才做對 "<<second1<<"個(gè)題 "&
39、lt;<endl; cout<<"三次才做對 "<<third1<<" 個(gè)題 "<<endl; cout<<"此次的正確率是: "<<Score<<"%"<<endl;/=void STUDENT:Sub()/ 減法運(yùn)算int a,b,score10,trueValue,sum=0,zen=0,flag,first,second,third, first1=0,second1=0,third1=0;/* 數(shù) a=r
40、and()%51,b=rand()%51 控制 a,b 的值不超過 50 sum累計(jì)分?jǐn)?shù), flag=1 標(biāo)志答案正確, zen 為累計(jì)正確題的個(gè)數(shù) ,first 第一次正確的個(gè)數(shù), second第二次正確的個(gè)數(shù), third 第三次正確的個(gè)數(shù), first1 累計(jì)僅一次做對題的個(gè)數(shù), second1為倆次才能完成題的個(gè)數(shù), third1 為三次做對題的個(gè)數(shù) */for(int i=1;i<=10;i+)/控制題 10 道題for(a=rand()%51,b=rand()%51;a-b>50|a-b<0;a=rand()%51,b=rand()%51) for(int j=1
41、;j<=3;j+)/J 控制得分的情況 flag=0; first=0; second=0; third=0;cout<<"第 "<<i<<" 個(gè):"<<a<<"-"<<b<<"=" trueValue=a-b;cin>>scorei;if(scorei!=trueValue) if(j=1) cout<<"答案錯(cuò)誤,你還有倆次機(jī)會,請重新輸入 "<<endl;score
42、i=0;/清空上次錯(cuò)誤答案elseif(j=2)cout<<"答案錯(cuò)誤,你還有最后一次機(jī)會, 請重新輸入 "<<endl; scorei=0; /清空上次錯(cuò)誤答案else cout<<"答案錯(cuò)誤,很遺憾你沒有做題的機(jī)會了 "<<endl; cout<<"正確答案是: "<<" : "<<trueValue<<endl; scorei=0;else第18頁 if(j=1) scorei=10;flag=1;first=1;
43、elseif(j=2) scorei=7; flag=1; second=1;else scorei=5; flag=1;third=1;break;sum=sum+scorei;zen=zen+flag;/做對題的個(gè)數(shù)first1=first1+first;second1=second1+second;third1=third1+third;Score=sum;/總分?jǐn)?shù)cout<<"*統(tǒng)計(jì) *"<<endl;cout<<"共做對 "<<zen<<" 個(gè)題 "<<
44、endl; cout<<"共做錯(cuò) "<<10-zen<<" 個(gè)題 "<<endl; cout<<"僅一次做對 "<<first1<<" 個(gè)題 "<<endl; cout<<"倆次才做對 "<<second1<<"個(gè)題 "<<endl; cout<<"三次才做對 "<<third1<&l
45、t;" 個(gè)題 "<<endl; cout<<"此次的正確率是: "<<Score<<"%"<<endl;/=void STUDENT:AddSub()int a,b,c,score10,trueValue,sum=0,zen=0,flag,first,second,third, first1=0,second1=0,third1=0;/* 數(shù) a=rand()%51,b=rand()%51 控制 a,b 的值不超過 50 sum 累計(jì)分?jǐn)?shù), flag=1 標(biāo)志答案正確, ze
46、n 為累計(jì)正確題的個(gè)數(shù) ,first 第一次正確的個(gè)數(shù), second第二次正第19頁確的個(gè)數(shù), third 第三次正確的個(gè)數(shù), first1 累計(jì)僅一次做對題的個(gè)數(shù), second1為倆次才能完成題的個(gè)數(shù), third1 為三次做對題的個(gè)數(shù) */控制題 10 道題for(a=rand()%51,b=rand()%51;a+b>50 | a+b<0 | a-b>50 | a-b<0; a=rand()%51,b=rand()%51) c=rand()%3;/控制是進(jìn)行加法還是減法操作for(int i=1;i<=10;i+)for(int j=1;j<=3;
47、j+)/J 控制得分的情況 flag=0; first=0; second=0; third=0; if(c=1) cout<<"第"<<i<<" 個(gè) :"<<a<<"+"<<b<<"="trueValue=a+b;cin>>scorei;if(scorei!=trueValue) if(j=1) cout<<"答案錯(cuò)誤,你還有倆次機(jī)會,請重新輸入 "<<endl;scorei
48、=0;/清空上次錯(cuò)誤答案elseif(j=2)cout<<"答案錯(cuò)誤,你還有最后一次機(jī)會, 請重新輸入 "<<endl; scorei=0; /清空上次錯(cuò)誤答案else cout<<"答案錯(cuò)誤,很遺憾你沒有做題的機(jī)會了 "<<endl; cout<<"正確答案是: "<<" : "<<trueValue<<endl; scorei=0;else if(j=1) scorei=10;flag=1;first=1;elseif(j=2)第20頁 scorei=7; flag=1; second=1;else scorei=5; flag=1;third=1;break;elsecout<<"第"<<i<<" 個(gè):"<<a<<"-"<<b<<"="trueVal
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療領(lǐng)域的新機(jī)遇區(qū)塊鏈技術(shù)的市場應(yīng)用與前景
- 醫(yī)療設(shè)備操作規(guī)范與質(zhì)量控制
- 醫(yī)療大數(shù)據(jù)分析在醫(yī)療服務(wù)中的應(yīng)用
- 2025年試用期轉(zhuǎn)正工作總結(jié)模版
- 醫(yī)療大數(shù)據(jù)下的患者滿意度分析
- AI技術(shù)在手術(shù)輔助系統(tǒng)中的倫理邊界探討
- 醫(yī)學(xué)倫理在中藥治療技術(shù)傳播中的作用研究
- 生產(chǎn)部門2025年度工作總結(jié)模版
- 代課老師聘用合同范例
- 醫(yī)患溝通藝術(shù)與銷售溝通技巧共通點(diǎn)解析
- (新版)妊娠期惡心嘔吐及妊娠劇吐管理指南解讀
- 小學(xué)生涯回顧分享模板
- 《MOFs材料介紹圖》課件
- DBJ03-107-2019 房屋建筑和市政工程施工危險(xiǎn)性較大的分部分項(xiàng)工程安全管理規(guī)范
- 小學(xué)四年級閱讀訓(xùn)練10篇+答案-四年級閱讀理解
- 2025年貴州中考二輪道德與法治專題復(fù)習(xí) 題型三 判斷與分析
- 機(jī)關(guān)財(cái)務(wù)課件
- 2024年11月時(shí)事政治熱點(diǎn)(國內(nèi)+國際)
- 《烈士陵園游》課件
- 現(xiàn)在醫(yī)療現(xiàn)狀
- 《零星工程項(xiàng)目監(jiān)理方案》
評論
0/150
提交評論