c++課程設(shè)計(jì)題目:小學(xué)生測(cè)驗(yàn)_第1頁(yè)
c++課程設(shè)計(jì)題目:小學(xué)生測(cè)驗(yàn)_第2頁(yè)
c++課程設(shè)計(jì)題目:小學(xué)生測(cè)驗(yàn)_第3頁(yè)
c++課程設(shè)計(jì)題目:小學(xué)生測(cè)驗(yàn)_第4頁(yè)
c++課程設(shè)計(jì)題目:小學(xué)生測(cè)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C+鋸言程序課程設(shè)計(jì)班級(jí):11電信1班 姓名:謝遠(yuǎn)忠 學(xué)號(hào):110703*指導(dǎo)老師:胡玨第一類題目應(yīng)用類:題目2:小學(xué)生測(cè)驗(yàn)面向小學(xué)12年級(jí)學(xué)生,隨機(jī)選擇兩個(gè)整數(shù)和加減法形成算式要求學(xué)生解答。功能要求:(1)電腦隨機(jī)出10道題,每題10分,程序結(jié)束時(shí)顯示學(xué)生得分;(2)確保算式?jīng)]有超出12年級(jí)的水平,只允許進(jìn)行 50以內(nèi)的加減法,不允許兩數(shù)之和或之差超出050的范圍,負(fù)數(shù)更是不允許的;(3)每道題學(xué)生有三次機(jī)會(huì)輸入答案,當(dāng)學(xué)生輸入錯(cuò)誤答案時(shí),提醒學(xué)生重新輸入,如果三次機(jī)會(huì)結(jié)束則輸出正確答案;(4)對(duì)于每道題,學(xué)生第一次輸入正確答案得10分,第二次輸入正確答案得 7分,第三次輸入正確答案得 5分

2、,否則不得分;(5)總成績(jī)90以上顯示“ SMART (優(yōu)秀!)",80-90顯示“GOOD (良好!)",70-80 顯示“OK (中等!)”,60-70顯示“PASS (及格!)”,60以下“TRY AGAIN (不及 格!重測(cè)!)t ,累計(jì)得分score并進(jìn)入下一道題。以score,判斷等級(jí) SMART、GOOD、OK、/Display_biaoti標(biāo)題類,標(biāo)題顯示I.設(shè)計(jì)思路:由系統(tǒng)函數(shù)產(chǎn)生兩個(gè)隨機(jī)數(shù) a、b并計(jì)算兩數(shù)之和為t ,顯示兩個(gè)隨機(jī)數(shù)a、b的加減法運(yùn)算,學(xué)生通過(guò)鍵盤(pán)輸入答案 num與t進(jìn)行匹配,第1次匹配正確給10分;第2次匹配正確給7分;第3次匹配正確給

3、5分,每道題至多3次輸入機(jī)會(huì),3次機(jī) 會(huì)用盡后仍未匹配成功由系統(tǒng)輸出正確答案此類推,直至10道題答完止輸出總得分PASS還是 TRY AGAIN。II .流程圖:III .C+(含class類,面向?qū)ο螅┏绦虼a:#include<iostream.h>#include<time.h>#include<stdlib.h> / 標(biāo)準(zhǔn)庫(kù)頭文件class Display_biaoti public:Display_biaoti()cout<<"=歡迎使用小學(xué)生整數(shù)50以內(nèi)加減法測(cè)驗(yàn)評(píng)測(cè)系統(tǒng)="<<endl<<

4、endl;cout<<"*"<<endl;cout<<"* *"<<endl;cout<<"* *共10道題,每道題3次作答機(jī)會(huì)* *"<<endl;cout<<"* *第1次作答正確一一10分;第2次作答正確一一7分;第3次作答正 -5 分;* *"<<endl;cout<<"* *三次作答不正確此題得分:0分,進(jìn)入下一題* *"<<endl;cout<<&quo

5、t;* *"<<endl;cout<<"*"<<endl<<endl;Display_biaoti();/* */class Suijishu/Suijishu隨機(jī)數(shù)類,產(chǎn)生兩個(gè)運(yùn)算數(shù)public:int a,b,n,t;Suijishu()a=rand()%50;/rand()是一個(gè)隨機(jī)函數(shù),a=rand()%50是在0-50內(nèi)取隨機(jī)值賦給ab=rand()%50;/b=rand()%50是在0-50內(nèi)取隨機(jī)值賦給bn=rand()%6;/n的范圍大些出現(xiàn)加法和減法的概率就越接近(加法:減法=5:5),故n取6if

6、(n=0|n=1|n=2)&&(a+b)>50)/如果產(chǎn)生隨機(jī)數(shù)a、b之和大于50時(shí)if(a>25&&b>25)a=a-25;b=b-25;if(a>25)a=a-25;if(b>25)b=b-25;Suijishu();/a、b同時(shí)大于25時(shí)/a、b同時(shí)減小25/僅是a大于25時(shí)/a減小25/僅是b大于25時(shí)/b減小25/*/class Display_timu:public Suijishu/Display_timu題目類,對(duì)單一道題目顯示給學(xué)生public:int i,t;Display_timu()()void xiansh

7、i()(switch(n)(case 0:/n為0、1、2時(shí)進(jìn)行加法運(yùn)算case 1:case2:cout<<"#"<<i<<”題#"<<endl;cout<<a<<"+"<<b<<"=";t=a+b; i+;break;case 3:/n為3、4、5時(shí)進(jìn)行減法運(yùn)算case 4:case 5:cout<<"# 第"<<i<<"題#"<<endi

8、;if(a>b)cout<<a<<"-"<<b<<"=";t=a-b; i+;else cout<<b<<"-"<<a<<"=" t=b-a; i+;/ 使用 ifelse.語(yǔ)句,以防出現(xiàn)負(fù)數(shù)break;Display_timu();/*/class Ceshi:public Display_timu public:int num,cnt,score;/測(cè)試者輸入答案次數(shù)cntCeshi()cnt=1;score=

9、0; int xunhuan() docin>>num;/測(cè)試者輸入答案numif (num=t)/答案正確時(shí)cout<<"正確!o(三 v三)o 好棒"<<endl;elseif (cnt<3)/答案輸入少于3次cout<<"答案不正確?在試t吧!"<<endl;cout<<"你還有"<<3-cnt<<"次答題機(jī)會(huì)"<<endl;+cnt;while(cnt<=3&&num!=t

10、); 答案輸入少于3次且輸入答案不正確時(shí)繼續(xù)輸入(3次答題機(jī)會(huì))if (num!=t)/3次為輸入正確答案,由系統(tǒng)給出正確答案cout<<"答案不正確!正確答案是:"<<t<<endl;switch (cnt)/累計(jì)答題得分情況case 1:score+=10;break;/第1次答對(duì)得10分case 2:score+=7;break;第2次答對(duì)得7分case 3:score+=5;break;第 3 次答對(duì)得 5 分return score;Ceshi();/*/class Display_zongping:public Ceshi/D

11、isplay_zongping總評(píng)類,對(duì)答完10道題給出總評(píng)public:int score;Display_zongping()void pandduan()if (score>90)cout<<"優(yōu)秀!"<<endl;else if (score>80)cout<<"良好!"<<endl;else if (score>70)cout<<"中等!"<<endl;/如果總分大于90/輸出優(yōu)秀!/如果總分大于80/輸出良好!/如果總分大于70/輸出

12、中等!else if (score>=60)/如果總分大于60cout<<"及格!"<<endl;else cout<<”不及格!重測(cè)!"<<endl;不及格!重測(cè)!/輸出及格!/低于60分時(shí),輸出cout<<"n"Display_zongping();/*/void main()int all_score=0;Display_biaoti aa;顯示/定義Display_biaoti標(biāo)題類對(duì)象aa,標(biāo)題srand(time(NULL);/srand函數(shù)是以現(xiàn)在系統(tǒng)時(shí)間作為時(shí)間種

13、子產(chǎn)生隨機(jī)數(shù)int j;for(j=1;j<11;j+)Suijishu bb;Display_timu cc;cc.i=j;cc.xianshi();Ceshi dd;dd.t=cc.t;的數(shù)據(jù)tall_score+=dd.xunhuan();dd 的方法 xunhuan()cout<</定義整形j計(jì)數(shù)10道題/定義隨機(jī)數(shù)Suijishu類對(duì)象bb/ 定義 Display_timu 類對(duì)象 cc/調(diào)用對(duì)象cc的方法xianshi()/ 定義Ceshi類對(duì)象dd/對(duì)象cc的數(shù)據(jù)t賦值給對(duì)象dd/調(diào)用對(duì)象當(dāng)前分?jǐn)?shù)為"<<all_score<<e

14、ndl; /輸出當(dāng)前的得Display_zongping ee;/ 定義 Display_zongping 類對(duì)象 eeee.score=all_score;cout<<”最后得分為"<<ee.score<<”"ee.pandduan();/ 調(diào)用對(duì)象 ee的方法 pandduan()IV.運(yùn)行結(jié)果:(良好?。▋?yōu)秀?。ú患案?!重測(cè)?。案瘢。ㄖ械龋。㊣V.C+(不含class類)程序代碼:#include<iostream.h>#include<time.h>/標(biāo)準(zhǔn)庫(kù)頭文件b=rand()%50;/b=ra

15、nd()%50是在0-50內(nèi)取隨機(jī)值#include<stdlib.h> void main()int t, num, a,n, i, b;定義變量t (系統(tǒng)正確答案),num (測(cè)試者輸入答案),a(參與運(yùn)算的數(shù)),/n(決定加法還是減法運(yùn)算),i (題號(hào)),b(參與運(yùn)算的另一個(gè)數(shù))int score=0;/定義變量score存放得分cout<<"=歡迎使用小學(xué)生整數(shù)50以內(nèi)加減法測(cè)驗(yàn)評(píng)測(cè)系統(tǒng)="<<endl;srand(time(NULL);/srand函數(shù)是以現(xiàn)在系統(tǒng)時(shí)間作為時(shí)間種子產(chǎn)生隨機(jī)數(shù)for(i=1;i<=10;i+)

16、loop: a=rand()%50;/rand()是一個(gè)隨機(jī)函數(shù),a=rand()%50 是在0-50內(nèi)取隨機(jī)值賦給a賦給bn=rand()%6;/n的范圍大些出現(xiàn)加法和減法的概率就越接近(加法:減法=5:5),故n取6if(n=0|n=1|n=2)&&(a+b)>50)如果產(chǎn)生隨機(jī)數(shù) a、b 之和大于50時(shí)if(a>25&&b>25)/a、b同時(shí)大于25時(shí)a=a-25;b=b-25;/a、b 同時(shí)減小 25if(a>25)/僅是a大于25時(shí)a=a-25;/a 減小 25if(b>25)/僅是b大于25時(shí)b=b-25;/b 減小 2

17、5switch(n)case 0:/n為0、1、2時(shí)進(jìn)行加法運(yùn)算case 1:caseI*<<i<<*"<<endl;cout<<a<<"+"<<b<<"="t=a+b;break;case 3: /n為3、4、5時(shí)進(jìn)行減法運(yùn)算case 4:case 5:cout<<"* 第"<<i<<"題*"<<endl;if(a>b)cout<<a<<&qu

18、ot;-"<<b<<"="t=a-b;else cout<<b<<"-"<<a<<"="t=b-a;/ 使用 ifelse.語(yǔ)句,以防結(jié)果出現(xiàn)負(fù)數(shù)break;goto loop;int cnt=1;/測(cè)試者輸入答案次數(shù)cntdo/測(cè)試者cin>>num;輸入答案numif (num=t)/答案正確時(shí)(cout<<"正確!o(三v)o好棒"<<endl;)else(if (cnt<3)/答案輸入

19、少于3次cout<<"答案不正確窿試t吧!"<<endl;cout<<"你還有"<<3-cnt<<"次答題機(jī)會(huì)"<<endl;+cnt;)while(cnt<=3&&num!=t); 答案輸入少于3次且輸入答案不正確時(shí)繼續(xù)輸入(3次答題機(jī)會(huì))if (num!=t)/3次為輸入正確答案,由系統(tǒng)給出正確答案cout<<"答案不正確!正確答案是:"<<t<<endl;switch (cnt)case 1:score+=10;break;/第1次答對(duì)得10分case 2:score+=7;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論