單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計(jì)_第1頁(yè)
單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計(jì)_第2頁(yè)
單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計(jì)_第3頁(yè)
單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計(jì)_第4頁(yè)
單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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、面向?qū)ο蟪绦蛟O(shè)計(jì)(C+)課程大作業(yè)設(shè)計(jì)題目:?jiǎn)雾?xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計(jì)院 系:計(jì)算機(jī)科學(xué)與信息工程學(xué)院專業(yè)班級(jí):學(xué)號(hào)姓名:指導(dǎo)教師:-老師2015年1月一、 成員分工1二、需求分析 2三、總體設(shè)計(jì) 3四、詳細(xì)設(shè)計(jì) 4五、系統(tǒng)測(cè)試 10六、總結(jié)13七、參考文獻(xiàn) 14一 成員分工我們小組成員共有三名, 分別是為了能按時(shí)圓滿的完成這次 C+課程設(shè)計(jì),我們 小組進(jìn)行了詳細(xì)的分工,以確保設(shè)計(jì)能按時(shí)完成。經(jīng)過(guò)周密的考慮和詳細(xì)的調(diào)查最終確定單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計(jì)需要以下幾個(gè)功能模塊:( 1 ) 需求分析( 2) 保存試題庫(kù)( 3) 試題的錄入( 4) 試題的抽?。?5) 答題( 6) 自動(dòng)判卷( 7

2、) 系統(tǒng)測(cè)試( 8) 退出系統(tǒng)經(jīng)過(guò)小組成員的討論,并根據(jù)個(gè)人的特長(zhǎng)和具體愛(ài)好做如下具體分工:神具體完成以下模塊的設(shè)計(jì)與實(shí)現(xiàn):( 9) )需求分析( 10) )保存試題庫(kù)( 11) )試題的錄入具體完成以下模塊的設(shè)計(jì)與實(shí)現(xiàn):( 12) ) 試題的抽?。?13) 答題具體完成以下模塊的設(shè)計(jì)與實(shí)現(xiàn):( 1) 自動(dòng)判卷( 2) 系統(tǒng)測(cè)試( 3) 退出系統(tǒng)二 需求分析1 設(shè)計(jì)目的將理論教學(xué)中涉及到的知識(shí)點(diǎn)貫穿起來(lái),對(duì)不同的數(shù)據(jù)類型、程序控制結(jié)構(gòu)、 數(shù)據(jù)結(jié)構(gòu)作一比較和總結(jié),結(jié)合設(shè)計(jì)題目進(jìn)行綜合性應(yīng)用,對(duì)所學(xué)知識(shí)達(dá)到融會(huì)貫通的程度。通過(guò)課程設(shè)計(jì),學(xué)生在下述各方面的能力應(yīng)該得到鍛煉:(1)進(jìn)一步鞏固、加深學(xué)生

3、所學(xué)專業(yè)課程C+!序設(shè)計(jì)語(yǔ)言的基本理論知識(shí),理論聯(lián)系實(shí)際,進(jìn)一步培養(yǎng)學(xué)生綜合分析問(wèn)題,解決問(wèn)題的能力。( 2)全面考核學(xué)生所掌握的基本理論知識(shí)及其實(shí)際業(yè)務(wù)能力,從而達(dá)到提高學(xué)生素質(zhì)的最終目的。(3)利用所學(xué)知識(shí),開(kāi)發(fā)小型應(yīng)用系統(tǒng),掌握運(yùn)用C+吾言編寫(xiě)調(diào)試應(yīng)用系統(tǒng)程序,訓(xùn)練獨(dú)立開(kāi)發(fā)應(yīng)用系統(tǒng),進(jìn)行數(shù)據(jù)處理的綜合能力。( 4)對(duì)于給定的設(shè)計(jì)題目,如何進(jìn)行分析,理清思路,并給出相應(yīng)的數(shù)學(xué)模 型。( 5)掌握結(jié)構(gòu)化程序設(shè)計(jì)方法,熟悉面向?qū)ο蟪绦蛟O(shè)計(jì)方法。(6)熟練掌握C+吾言的基本語(yǔ)法,靈活運(yùn)用各種數(shù)據(jù)類型。( 7)進(jìn)一步掌握在集成環(huán)境下如何調(diào)試程序和修改程序。2課程設(shè)計(jì)名稱及內(nèi)容課程設(shè)計(jì)名稱:?jiǎn)雾?xiàng)選擇

4、題標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計(jì)內(nèi)容:設(shè)計(jì)一個(gè)單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng),該系統(tǒng)要求能自動(dòng)組卷和評(píng) 分。3設(shè)計(jì)方案提示具體的功能:(1) 用文件保存試題庫(kù)。(每個(gè)試題包括題干、4 個(gè)備選答案、標(biāo)準(zhǔn)答案);(2) 試題錄入:可隨時(shí)增加試題到試題庫(kù)中;(3) 試題抽?。好看螐脑囶}庫(kù)中可以隨機(jī)抽出N道題(N由鍵盤(pán)輸入);(4) 答題:用戶可實(shí)現(xiàn)輸入自己的答案;(5) 自動(dòng)判卷:系統(tǒng)可根據(jù)用戶答案與標(biāo)準(zhǔn)答案的對(duì)比實(shí)現(xiàn)判卷并給出成績(jī)。主要知識(shí)點(diǎn):(1) 面向?qū)ο蟪绦蛟O(shè)計(jì)方法(2) 界面的制作,switch的應(yīng)用(3) 類和對(duì)象(4) 動(dòng)態(tài)數(shù)組(鏈表)類模板(5) 文件的讀寫(xiě)其他:程序設(shè)計(jì)可在Microsoft VC+

5、 、 Borland C+ Builder 環(huán)境下進(jìn)行。三 總體設(shè)計(jì)1 總的敘述1 、用來(lái)保存試題庫(kù), 可以用到”Struct TestNode Testquestions ”結(jié)構(gòu)體數(shù)組 , 將試題一一對(duì)應(yīng)的保留下來(lái), 放在相應(yīng)的文件里;2 、試題的錄入,可以定義一個(gè)void InputTitle(int N)和 StatusInsertNode(int &N)”函數(shù)將試題錄入;3 、 試題的抽取,可以定義一個(gè)" void printNode(TestNode p,int n) ”的函 數(shù),用到“ Rand'函數(shù)進(jìn)行隨機(jī)抽?。?、答題方面,則定義一個(gè)" vo

6、id answer(int sum) ”函數(shù)用于答題者的輸入 答案;5、自動(dòng)判卷,則可以定義一個(gè)"Status Match(TestNode p,char m) ”函數(shù),用來(lái)對(duì)比答題者答案和正確答案,給出判斷正確與否;6 、用一個(gè)main函數(shù)將上述各個(gè)函數(shù)功能塊連接起來(lái),實(shí)現(xiàn)"單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)”的各個(gè)方面的功能,完成設(shè)計(jì)2.大概流程圖進(jìn)行答題并判卷顯 示 整 張 試 卷 內(nèi)插 入 試 題保 存 到 文 件退出系統(tǒng)四詳細(xì)設(shè)計(jì)1.程序流程圖(1)保存文件(2)輸出文件(3)答題功能模塊輸出“錯(cuò)誤”程序中主要用到了結(jié)構(gòu)體數(shù)組,定義類型,如typedef int Statu

7、s等,用結(jié)構(gòu)體數(shù)組可以使得程序比較簡(jiǎn)便,易于讀懂,免去頻繁的賦值,而用定義類型,可以使得程序具有移植性,健壯性好。2. 功能模塊(1)文件的保存和讀取模塊實(shí)現(xiàn)此功能代碼如下:把結(jié)構(gòu)體數(shù)組保存到文件"wenjian”中,如成功保存返回TRUE否則返回ERRORStatus SaveNode(int N) int i;FILE *fp;if(fp=fopen("wenjian","wb")=NULL) return ERROR;for(i=0;i<N;i+)fwrite(&Testquestionsi,sizeof(TestNode)

8、,1,fp);fclose(fp);return TRUE;從文件讀出結(jié)構(gòu)體數(shù)組的內(nèi)容,如成功讀取返回TRUE否則返回ERRORStatus ReadNode(int &N) FILE *fp;int i=0;if(fp=fopen("wenjian","rb")=NULL) return ERROR;while(!feof(fp)ubject);cout<<" 請(qǐng)輸入選項(xiàng)A: "gets(TestquestionsN.option1);cout<<" 請(qǐng)輸入選項(xiàng)B: "gets(T

9、estquestionsN.option2);cout<<" 請(qǐng)輸入選項(xiàng)C: "gets(TestquestionsN.option3);cout<<" 請(qǐng)輸入選項(xiàng)D: "gets(TestquestionsN.option4);cout<<endl;cout<<" 請(qǐng)輸入答案:"cin>>&TestquestionsN.result;getchar();N+;開(kāi)始插入試題進(jìn)行插入試題連續(xù)插入兩道題顯示整張?jiān)嚲韮?nèi)容3. 保存到文件并進(jìn)行答題保存到文件進(jìn)行答題4. 退出

10、系統(tǒng)退出系統(tǒng)六 總結(jié)經(jīng)過(guò)這么多天的C+課程設(shè)計(jì)的訓(xùn)練,我學(xué)到了很多,最主要的一點(diǎn)是怎樣去運(yùn)用自己學(xué)過(guò)的知識(shí),怎樣去找到你所需要的資料,并在短時(shí)間把它運(yùn)用到具體的實(shí)踐中 , 運(yùn)用到你所需要的方面。這個(gè)過(guò)程是很艱難的,要花費(fèi)很多的時(shí)間和精力,但是,在事情過(guò)后,自己就會(huì)發(fā)現(xiàn)自己已經(jīng)在這個(gè)過(guò)程中學(xué)到了自己想要的東西,這種獲得是更深刻的。在做這個(gè)C+域程設(shè)計(jì)的時(shí)候,我原先也是學(xué)的不怎么好,什么是結(jié)構(gòu)體數(shù)據(jù),什么是定義類型,怎樣在一個(gè)main 函數(shù)中調(diào)用別的定義函數(shù),等等,可以說(shuō)是忘得差不多了。然而,在這門課程設(shè)計(jì)中, 這些方面卻是特別重要的,可以說(shuō),掌握了這個(gè) , 你就完全可以完成自己的任務(wù)。這就要求我

11、們要自己去學(xué),自己去探索。當(dāng)然 , 看書(shū)、問(wèn)同學(xué)是必不可少的,還有, 身邊有非常豐富的網(wǎng)絡(luò)資源給我們好好利用 , 百度就是個(gè)很不錯(cuò)的地方。這樣就從另一方面鍛煉了我們檢索知識(shí)獲取信息的能力,在這個(gè)過(guò)程中, 可以學(xué)到的是一種提升自我的能力。當(dāng)然 , 由于個(gè)人能力所限,這份課程設(shè)計(jì)有一些別的方面還是要參考人家的的資料,在讀懂別人材料的同時(shí),自己取人所長(zhǎng),補(bǔ)己之短,經(jīng)過(guò)多次的調(diào)試, 總結(jié) , 最后交出一份自己比較滿意的答卷。通過(guò)這次的課程設(shè)計(jì),讓我進(jìn)一步的了解到C+4我們?nèi)粘I钪械闹匾?,而且,也更進(jìn)一步的激發(fā)了我學(xué)習(xí)這門語(yǔ)言的興趣. 經(jīng)過(guò)這次的訓(xùn)練,我相信自己以后會(huì)用更多的時(shí)間來(lái)把這門語(yǔ)言學(xué)好,掌

12、握好這門必修的基礎(chǔ)語(yǔ)言。七 參考文獻(xiàn)1 . 段鋼 編著 加密與解密(第三版). 電子工業(yè)出版社.2009 年 8月 .2 . 趙樹(shù)升 趙韶平 . Windows 信息安全原理與實(shí)現(xiàn). 清華大學(xué)出版社.2004 年 9月.3 . 賽奎春 .Visual C+ 信息系統(tǒng)開(kāi)發(fā)實(shí)例精選,20054 . 楊永國(guó) . Visual C+ 實(shí)用教程 . 清華大學(xué)出版社,20045 . 唐俊明 . Visual C+ 編程實(shí)例與技巧. 高等教育出版,20026 . 潘錦平 . 軟件系統(tǒng)開(kāi)發(fā)技術(shù). 西安電子科技大學(xué)出版社, 19977 . 鄭阿奇 丁有和 編著Visual C+(第2版).機(jī)械工業(yè)出版社.200

13、8年8月.8 . 侯俊杰 編著 深入淺出MFC(第2版).華中科技大學(xué)出版社.2008年1月.9 . 孫鑫 余安萍 編著 VC+ 深入淺出詳解. 電子工業(yè)出版社.2006 年 6月 .附錄源程序:#include<iostream>#include<vector>#include<fstream>#include<>#include <>using namespace std;# define TRUE 1# define ERROR 0# define MAX 30typedef int Status;typedef structc

14、haroption130,option230,option330,option430,subject150;char result;TestNode;TestNode TestquestionsMAX;Status SaveNode(int N) ubject);cout<<" 請(qǐng)輸入選項(xiàng)A: "gets(TestquestionsN.option1);cout<<" 請(qǐng)輸入選項(xiàng)B: "gets(TestquestionsN.option2);cout<<" 請(qǐng)輸入選項(xiàng)C: "gets(Testqu

15、estionsN.option3);cout<<" 請(qǐng)輸入選項(xiàng)D: "gets(TestquestionsN.option4);cout<<endl;cout<<" 請(qǐng)輸入答案:"cin>>&TestquestionsN.result;getchar();N+;/N表示結(jié)構(gòu)體數(shù)組長(zhǎng)度通過(guò)加&號(hào)使其值能返回return TRUE;Status DeleteNode(int n)/ 刪除數(shù)組中的第n 個(gè)元素return TRUE;void printNode(TestNode p,int n)/

16、 輸出第 n 道題題目cout<<n;cout<<" "<<<<" "<<endl;cout<<"A "<<<<" "cout<<"B "<<<<" "<<endl;cout<<"C "<<<<" "cout<<"D "<

17、<<<" "Status Match(TestNode p,char m)/ 判斷m是否為p題目的答案,若是返 回TRUE否則返回ERRORif(m= return TRUE;else return ERROR;void answer(int sum)/ 進(jìn)行答題int k,score=0,Num;char r;int aMAX,i;for(k=1;k<=sum;k+) for(i=0; i<=sum; +i)ai=i;for(i=sum; i>=1; -i)swap(ai-1, arand()%i);Num=ai-1; / 隨機(jī)函數(shù) ,

18、 以隨機(jī)選定何題進(jìn)行解答printNode(TestquestionsNum,Num+1);cout<<endl;cout<<" 請(qǐng)輸入答案:"cin>>&r;getchar();if( Match(TestquestionsNum,r) / 調(diào)用函數(shù)IsMatch 判斷所輸入的答案與標(biāo)準(zhǔn)答案是否相同 cout<<endl;cout<<" 答案正確!"<<endl;score+;else cout<<endl;cout<<"答案錯(cuò)誤!&quo

19、t;<<endl;)cout<<"你的總成績(jī)?yōu)?"<<score<<endl;int main() char flag='N'int N=0,i, sum,score=0,chose;ReadNode(N);while(flag='N'|flag='n') cout<<""<<"單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)"<<endl;cout<<endl;cout<<""<

20、;<"1進(jìn)行答題并判卷"<<endl;cout<<""<<"2顯不整張?jiān)嚲韮?nèi)容"<<endl;cout<<""<<"3插入試題"<<endl;cout<<""<<"4保存到文件"<<endl;cout<<""<<"5退出系統(tǒng)"<<endl;cout<<""<<"請(qǐng)選擇:"cin>>chose;getchar();switch(chose)case 1:system("cls");if(N=0)cout<<" 題庫(kù)中沒(méi)有試題,請(qǐng)?zhí)砑雍笤谶M(jìn)行答題!"<<endl;break;cout<<"題庫(kù)中共有"<<N<<"道試題,請(qǐng)輸入答題個(gè)數(shù):";cin

溫馨提示

  • 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)論