完整版)單項選擇題標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計_第1頁
完整版)單項選擇題標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計_第2頁
完整版)單項選擇題標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計_第3頁
完整版)單項選擇題標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計_第4頁
完整版)單項選擇題標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

5、體設(shè)計1. 總的敘述1 、用來保存試題庫,可以用到”保留下來,放在相應(yīng)的文件里;Struct TestNode Testquestions結(jié)構(gòu)體數(shù)組,將試題一一對應(yīng)的2、試題的錄入,可以定義一個”函數(shù)將試題錄入;void In putTitle(i nt N)”和” Status In sertNode(i nt &N)”3、試題的抽取,可以定義一個”void printNode(TestNode p,int n)” 的函數(shù),用到” Rand函數(shù)進行隨機抽?。?、 答題方面”則定義一個”void answer(int sum)”函數(shù)用于答題者的輸入答案;5、自動判卷,則可以定義一個” Stat

6、us Match(TestNode p,char m)”函數(shù),用來對比答題者答案和正確答案,給出判斷正確與否;6 、用一個main函數(shù)將上述各個函數(shù)功能塊連接起來,實現(xiàn)”單項選擇題標(biāo)準(zhǔn)化考試系統(tǒng)”的各個方面的功能,完成設(shè)計2. 大概流程圖容7四詳細(xì)設(shè)計1.程序流程圖(1) 保存文件遊入函繳 Sa-eNodc(mt N)咸功打開文件功打開交件?-*N Y.U 1ReturnERRORi 1劉斷案件威立.,1-謹(jǐn)屮對蝎卄.,N-1 .Rstuiu tuxt (3) 答題功能模塊(4) 結(jié)構(gòu)程序中主要用到了結(jié)構(gòu)體數(shù)組 , 定義類型 , 如 typedef int Status 等, 用結(jié)構(gòu)體數(shù)組可

7、以使得程序比較簡便 , 易于讀懂 ,免去頻繁的賦值 , 而用定義類型 , 可以使得程序具有移植 性, 健壯性好。2. 功能模塊(1) 文件的保存和讀取模塊實現(xiàn)此功能代碼如下:把結(jié)構(gòu)體數(shù)組保存到文件wenjian中,如成功保存返回TRUE,否則返回ERRORStatus SaveNode(i nt N) int i;FILE *fp;if(fp=fopen(wenjian,wb)=NULL) return ERROR;for(i=0;iMAX) return ERROR;cout 請輸入所要插入題題目、題干和選項 :endl;cout 請輸入題目: ; gets(TestquestionsN.s

8、ubject);cout 請輸入選項 A: ; gets(TestquestionsN.option1);cout 請輸入選項 B: ; gets(TestquestionsN.option2);cout 請輸入選項 C: ; gets(TestquestionsN.option3);cout 請輸入選項 D: ; gets(TestquestionsN.option4);coutendl;cout&TestquestionsN.result;getchar();, 通過加 &號使其值N+; /N 表示結(jié)構(gòu)體數(shù)組長度 能返回return TRUE;(3) 試題的輸出模塊實現(xiàn)此功能相關(guān)代碼如下:

9、void printNode(TestNode p,int n)/輸出第 n 道題題目coutn;cout p.subject endl;coutA p.option1 ;coutB p.option2 endl;coutC p.option3 ;coutD p.option4 ;4)答題判卷模塊實現(xiàn)此功能相關(guān)代碼如下:判斷m是否為p題目的答案,若是返回 TRUE否則返回ERRORStatus Match(TestNode p,char m)if(m=p.result) return TRUE;else return ERROR;進行答題void answer(int sum)/ 進行答題in

10、t k,score=0,Num; char r;int aMAX,i; for(k=1;k=sum;k+) for(i=0; i=1; -i) swap(ai-1, arand()%i);Num=ai-1; / 隨機函數(shù) , 以隨機選定何題進行解答 printNode(TestquestionsNum,Num+1);coutendl;cout&r;getchar();調(diào)用函數(shù) IsMatch 判斷所輸入的答案與標(biāo)準(zhǔn)答案if( Match(TestquestionsNum,r) / 是否相同 coutendl; cout 答案正確 !endl; score+;else coutendl;cout

11、 答案錯誤 !endl;cout 你的總成績?yōu)?:score&N;getchar();InputTitle(N);*/ReadNode(N);while(flag=N|flag=n)21 coutcoutendl;cout1cout2cout3cout4cout5coutchose;getchar();endl;單項選擇題標(biāo)準(zhǔn)化考試系統(tǒng) endl;進行答題并判卷 endl; 顯示整張試卷內(nèi)容 endl; 插入試題 endl;保存到文件 endl;退出系統(tǒng) endl;請選擇 :;switch(chose)case 1:system(cls); if(N=0)題庫中沒有試題,請?zhí)砑雍笤谶M行答題!c

12、outbreak;cout 題庫中共有 Nsum;getchar();if(sumN)cout 輸入錯誤,請重新操作! ! endl;break;answer(sum);break;case 2:system(cls);if(N=0)endl;cout 題庫中沒有試題,請?zhí)砑雍笤谶M行此類操作! break;for(i=1;i=N;i+) printNode(Testquestionsi-1,i);coutendl;break;case 3:system(cls);InsertNode(N);break;case 4:system(cls);if(SaveNode(N) cout 保存成功 !e

13、ndl;else cout 保存失敗 !endl;break;case 5:cout&flag;getchar();if(flag=Y|flag=y) exit(0);system(cls);break;default:cout 請輸入正確選擇 !7-H22B11C44D33*2+3 =H4B5C6D7單項選擇題標(biāo)準(zhǔn)化考試系統(tǒng)容判卷惡件張題文統(tǒng) 行Tg擇 進顯ym選12 3 4 53. 保存到文件并進行答題保存到文件保存咸功?單項選擇題標(biāo)準(zhǔn)化考試系統(tǒng)容S喪件 題張題文統(tǒng) SH=- 行Tg擇 SBS 選進行答題題庫中共有2道試題,詰輸入答題個數(shù)池22+3 =A 4 B BC 6 D ?請輸入答案

14、汨答秦正確?1?7z7-fi 22 B 11G 釧 D 33請輸入答衆(zhòng)汨皆案耳確辛單項選擇題標(biāo)準(zhǔn)化若試系統(tǒng)容S奪件題蘇題文統(tǒng). 透顯選 12 3 4 請尿的總成鰭為=24. 退出系統(tǒng)退出系統(tǒng)保存成功!單項選擇題標(biāo)準(zhǔn)化考試系統(tǒng)你將退出系統(tǒng)宀or N?V容擁卷件 題張題文統(tǒng) sn 進顯選ocess be七ur-ned o C0x0 execution tlime = 9G-592 s ess any ke 9 to continue H六 總結(jié)經(jīng)過這么多天的 C+課程設(shè)計的訓(xùn)練,我學(xué)到了很多,最主要的一點是怎樣去運用自己學(xué)過的知識,怎樣去找到你所需要的資料,并在短時間把它運用到具體的實踐中 ,運用

15、到你所需要的方面。這個過程 是很艱難的,要花費很多的時間和精力, 但是,在事情過后, 自己就會發(fā)現(xiàn)自己已經(jīng)在這個過程中學(xué)到 了自己想要的東西,這種獲得是更深刻的。在做這個 C+!程設(shè)計的時候,我原先也是學(xué)的不怎么好,什么是結(jié)構(gòu)體數(shù)據(jù),什么是定義類型,怎樣在一個 main 函數(shù)中調(diào)用別的定義函數(shù),等等, 可以說是忘得差不多了。 然而, 在這門課程設(shè)計中 這些方面卻是特別重要的,可以說,掌握了這個 , 你就完全可以完成自己的任務(wù)。這就要求我們要自己 去學(xué), 自己去探索。 當(dāng)然,看書、問同學(xué)是必不可少的,還有 ,身邊有非常豐富的網(wǎng)絡(luò)資源給我們好好利 用,百度就是個很不錯的地方。 這樣就從另一方面鍛煉

16、了我們檢索知識獲取信息的能力,在這個過程中可以學(xué)到的是一種提升自我的能力。當(dāng)然,由于個人能力所限,這份課程設(shè)計有一些別的方面還是要參考人家的的資料,在讀懂別人材 料的同時,自己取人所長,補己之短,經(jīng)過多次的調(diào)試 , 總結(jié) , 最后交出一份自己比較滿意的答卷。通過這次的課程設(shè)計,讓我進一步的了解到C+在我們?nèi)粘I钪械闹匾?,而且,也更進一步的激發(fā)了我學(xué)習(xí)這門語言的興趣 .經(jīng)過這次的訓(xùn)練,我相信自己以后會用更多的時間來把這門語言學(xué)好, 掌握好這門必修的基礎(chǔ)語言。七 參考文獻1. 段鋼 編著 加密與解密(第三版) .電子工業(yè)出版社 .2009 年 8 月 .2. 趙樹升 趙韶平 . Windows

17、 信息安全原理與實現(xiàn) .清華大學(xué)出版社 .2004 年 9 月 .3 .賽奎春.Visual C+ 信息系統(tǒng)開發(fā)實例精選,20054 . 楊永國. Visual C+ 6.0 實用教程. 清華大學(xué)出版社 ,20045 . 唐俊明. Visual C+ 6.0 編程實例與技巧 . 高等教育出版, 20026 . 潘錦平. 軟件系統(tǒng)開發(fā)技術(shù) . 西安電子科技大學(xué)出版社 , 19977 . 鄭阿奇 丁有和 編著 Visual C+ (第 2版) .機械工業(yè)出版社 .2008 年 8月.8 .侯俊杰 編著 深入淺出MFC(第2版).華中科技大學(xué)出版社.2008年1月.9 . 孫鑫 余安萍 編著 VC+

18、 深入淺出詳解 . 電子工業(yè)出版社 .2006 年 6月.附錄源程序:#include#include#include#include#include using namespace std;#define TRUE 1#define ERROR 0#define MAX 30typedef int Status;typedef structchar option130,option230,option330,option430,subject150;char result;TestNode;TestNode TestquestionsMAX;Status SaveNode(int N)/把結(jié)

19、構(gòu)體數(shù)組保存到文件 cheng 中 ,如成功保存返回 TRUE, 否則返回 ERROR int i;FILE *fp; if(fp=fopen(cheng,wb)=NULL) return ERROR; for(i=0;iMAX) return ERROR;cout 請輸入所要插入題題目、題干和選項 :endl;cout 請輸入題目: ;gets(TestquestionsN.subject);cout 請輸入選項 A:;gets(TestquestionsN.option1);cout 請輸入選項 B :;gets(TestquestionsN.option2);cout 請輸入選項 C :

20、;gets(TestquestionsN.option3);cout 請輸入選項 D :;gets(TestquestionsN.option4);coutendl;cout&TestquestionsN.result;getchar();N+; /N 表示結(jié)構(gòu)體數(shù)組長度 通過加 &號使其值能返回return TRUE;Status DeleteNode(int n)/ 刪除數(shù)組中的第 n 個元素return TRUE;void printNode(TestNode p,int n)/ 輸出第 n 道題題目 coutn;coutp.subjectendl;coutAp.option15cout

21、Bp.option2endl;coutCp.option35coutDp.option45Status Match(TestNode p,char m)/ 判斷 m 是否為 p 題目的答案, 若是返 回 TRUE ,否則返回 ERRORif(m=p.result) return TRUE;else return ERROR;void answer(int sum)/ 進行答題int k,score=0,Num;char r;int aMAX,i;for(k=1;k=sum;k+) for(i=0; i=1; -i)swap(ai-1, arand()%i);Num=ai-1; /隨機函數(shù) ,以隨機選定何題進行解答 printNode(TestquestionsNum,Num+1);coutendl; cout&r;getchar();if( Match(TestquestionsNum,r) / 調(diào)用函數(shù) IsMatch 判斷所輸入的 答案與標(biāo)準(zhǔn)答案是否相同 coutendl;cout 答案正確 !endl;score+;else coutendl;cout 答案錯誤 !endl;cout 你的總成績?yōu)?:scoreendl;int ma

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論