

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 選</b></p><p><b> 擇</b></p><p><b> 題</b></p><p><b> 考</b></p><p><b> 試</b></p><p
2、><b> 系</b></p><p><b> 統(tǒng)</b></p><p><b> 目錄</b></p><p> 第一章 課程設計的目的和要求1</p><p> 1.1 課程設計的目的1</p><p> 1.2 課程設計的
3、基本要求:1</p><p> 第二章 課程設計任務內容2</p><p> 2.1 課程設計任務內容2</p><p> 第三章 課程設計詳細設計說明3</p><p> 3.1 程序模塊總圖3</p><p> 3.2 教師登錄模塊3</p><p> 3.3 試題管
4、理模塊5</p><p> 3.4 掃描題庫模塊7</p><p> 3.5 程序輔助模塊8</p><p> 3.6 約束條件8</p><p> 3.7 接口函數(shù)描述8</p><p> 3.8 程序測試9</p><p> 3.9 調試結果及截圖9</p&g
5、t;<p> 第四章 軟件使用說明19</p><p> 4.1 軟件開發(fā)起因以及使用說明19</p><p> 第五章 課程設計心得與體會20</p><p> 附錄1 參考文獻21</p><p> 附錄2 程序源代碼22</p><p> 第一章 課程設計的目的和要求<
6、/p><p> 1.1課程設計的目的</p><p> VC程序設計是計算機科學與技術專業(yè)的基礎課程,其實踐性、應用性很強。實踐教學環(huán)節(jié)是必不可少的一個重要環(huán)節(jié)。課程設計的目的是加深對理論教學內容的理解和掌握,使學生較系統(tǒng)的掌握程序設計及其在網絡開發(fā)中的廣泛應用,基本方法及技巧,為學生綜合運用所學知識,利用軟件工程為基礎進行軟件開發(fā)、并在實踐應用方面打下一定基礎。要求學生在設計指導教師的幫
7、助下自行完成各個操作環(huán)節(jié),并能實現(xiàn)且達到舉一反三的目的,完成一個項目解決一類問題。要求學生能夠全面、深入理解和熟悉掌握所學內容,并能夠用其分析、設計和解答類似問題;對此能夠較好的理解和掌握,能夠進行簡單分析和判斷;能編寫出良好風格的程序;掌握VC程序設計的基本技能和面向對象的概念和方法。培養(yǎng)學生進行設計分析、設計方法、設計操作與測試、設計過程的觀察、理解和歸納能力的提高。</p><p> 1.2 課程設計的基
8、本要求:</p><p> ?。?) 掌握VC編程、面向對象的基礎知識。</p><p> ?。?) 掌握API、MFC編程的消息響應機制和應用程序框架。</p><p> ?。?) 較熟悉地編寫基于API、MFC的VC應用程序。</p><p> ?。?) 了解VC的常用標準類庫、編程技巧及高級編程。</p><p>
9、; (5) 了解學生管理系統(tǒng)設計的可行性分析、設計、模塊劃分、功能實現(xiàn)、軟件調試、軟件評估。</p><p> ?。?) 聯(lián)系已學過的內容,鞏固所學的理論,增強獨立工作能力。</p><p> ?。?) 通過設計主要使學生有一個系統(tǒng)總體開發(fā),總體設計、總體實現(xiàn)的完整過程,對理論學習及動手能力都有一個很大的提高。</p><p> ?。?) 通過本次設計,進一步培養(yǎng)
10、學生熱愛專業(yè)的理想,同時對本專業(yè)綜合素質的提高起一個積極的推動作用。</p><p> ?。?) 能合理的安排個人的工作地點,并遵守操作規(guī)程與安全技術規(guī)則。</p><p> 第二章 課程設計任務內容</p><p> 2.1課程設計任務內容</p><p> 單項選擇題標準化考試系統(tǒng)功能要求:</p><p>
11、 用文件保存試題庫(每題包括題干、4個備選答案、標準答案)</p><p> 試題錄入:可隨時增加試題到試題庫中</p><p> 試題抽取:每次從試題庫中隨機抽取N道題,N由鍵盤輸入</p><p> 答題:用戶輸入自己的答案</p><p> 自動判卷:系統(tǒng)根據(jù)標準答案實現(xiàn)自動判卷,并給出成績</p><p&
12、gt; 要求:1)用C語言實現(xiàn)系統(tǒng);2)函數(shù)功能要劃分好(結構化程序設計);3)界面友好(良好的人機交互),加必要的注釋;4)提供程序測試方案。</p><p> 第三章 課程設計詳細設計說明</p><p> 3.1 程序模塊總圖</p><p> 程序模塊功能如圖所示:</p><p> 圖3-1程序功能示意圖</
13、p><p> 由于此程序較復雜要求兩個人分工合作完成,所以我負責其中教師管理系統(tǒng)。從圖中可以看出程序中教師的管理系統(tǒng)又分三個模塊:</p><p> ?。?) 教師登陸模塊</p><p> (2) 試題管理模塊</p><p> ?。?) 掃描題庫模塊</p><p> 3.2 教師登錄模塊</p>
14、<p> 模塊描述:此模塊是確保試題的保密,不被任意人隨意看到而設置的一個密碼驗證登陸模塊。其作用是起到保護試題不被泄露。程序如下:</p><p> int userlogin()</p><p><b> {</b></p><p> char username[20];//用戶名</p><p>
15、; char userpsw[20];//密碼</p><p> cout<<"***************************************************"<<endl;</p><p> cout<<"*******************************************
16、********"<<endl;</p><p> cout<<"***************************************************"<<endl;</p><p> cout<<"***********************教師登錄**************
17、******"<<endl;</p><p> cout<<"***************************************************"<<endl;</p><p> cout<<"*******************************************
18、********"<<endl;</p><p> cout<<"***************************************************"<<endl;</p><p> cout<<"用戶名:";</p><p> cin>
19、>username;</p><p> if(strcmp(username,"admin")){</p><p> cout<<"用戶名錯誤!"<<endl;</p><p> system("pause");</p><p> system(
20、"cls");</p><p> userlogin();</p><p><b> }</b></p><p><b> else{</b></p><p> cout<<"密 碼:";</p><p> ci
21、n>>userpsw;</p><p> if(strcmp(userpsw,"123")){</p><p> cout<<"密碼錯誤!"<<endl;</p><p> system("pause");</p><p> system(
22、"cls");</p><p> userlogin();</p><p><b> }</b></p><p> else {system("pause");</p><p> system("cls");</p><p>
23、 return 1;}</p><p><b> }</b></p><p><b> return 0;</b></p><p> 此模塊的性能:密碼登陸。其靈活性很高,當密碼輸入錯誤時,界面上會提示“按任意鍵。。。”后,刷新登陸界面重新輸入。</p><p> 輸入值:輸入的賬號以及密碼
24、是唯一的,其程序是采用字符串的運算函數(shù)strcmp(比較)來確定密碼是否正確的。字符串的長度是二十個字符,所以在超出20個字符后會只會程序中只會存儲前20個字符。</p><p> 算法:算法很簡單,只是通過字符串的比較得出的0或1的值,再用if語句來選擇,1進行下個模塊的運行,0表示輸入錯誤,重新輸入。</p><p> 3.3 試題管理模塊</p><p>
25、 模塊描述:由于此模塊比較復雜,所以主要在(1)用文件保存試題庫,(2)試題錄入:可隨時增加試題到試題庫中,這兩個功能中。此模塊程序如下:</p><p> void add() </p><p><b> { </b></p><p> ofstream out_stream; //文件流定義</p>&
26、lt;p> char content[2000]; //用于存放輸入的題目</p><p> int dist,n; //dist 用于判斷是否繼續(xù)添加新的題目,n是數(shù)組計數(shù)器</p><p> int num; //用于計數(shù)</p><p> int optnum;</p>&l
27、t;p><b> char ans;</b></p><p> char ansnum='A';</p><p><b> do{</b></p><p><b> n=0;</b></p><p><b> num=1; </
28、b></p><p> out_stream.open("tiku.txt",ios::app); //打開文件tiku.txt,ios::app表示追加文件尾</p><p> if (out_stream.fail())</p><p> { cout<<"Input file opening fai
29、led.\n";</p><p><b> exit(1);</b></p><p><b> }</b></p><p> cout<<endl<<"注意:新增的題目中,不允許出現(xiàn)'@'和'#'!!! "<<end
30、l;</p><p> cout<<"題庫中已有 "<<maxnum<<" 道題,請按順序編寫題號!"<<endl;</p><p> cout<<"請輸入題目(不包括選項,并在最后加一個字符'#'表示輸入完畢): \n";</p>&l
31、t;p><b> do{</b></p><p> cin>>content[n]; </p><p><b> n++; </b></p><p> }while(content[n-1]!='#');</p><p><b&g
32、t; n=0;</b></p><p> while(content[n]!='#')</p><p> { out_stream<<content[n];</p><p><b> n++;</b></p><p><b> };</b></
33、p><p> out_stream<<endl;</p><p> cout<<"你想要設置幾個選項呢?請輸入答案選項數(shù):";</p><p> cin>>optnum;</p><p><b> do{ </b></p><p><
34、;b> n=0; </b></p><p> cout<<"請輸入第 "<<num<<" 個選項(在最后加一個字符'#'表示輸入完畢)"<<endl;</p><p><b> do{</b></p><p> c
35、in>>content[n];</p><p><b> n++;</b></p><p> }while(content[n-1]!='#'); </p><p><b> n=0;</b></p><p> while(content[n]!='
36、#')</p><p><b> { </b></p><p> out_stream<<content[n];</p><p><b> n++; </b></p><p><b> };</b></p><p>
37、 out_stream<<endl;</p><p><b> num++;</b></p><p> }while(num!=optnum+1);</p><p> out_stream<<endl<<"@"<<endl;</p><p> o
38、ut_stream.close();</p><p> out_stream.open("answer.txt",ios::app); //打開文件tiku.txt,ios::app表示追加文件尾</p><p> if (out_stream.fail())</p><p> { cout<<"Input f
39、ile opening failed.\n";</p><p><b> exit(1);</b></p><p><b> }</b></p><p><b> do {</b></p><p> cout<<"請錄入答案:\n&quo
40、t;;</p><p><b> cin>>ans;</b></p><p> }while(ans!='A'&&ans!='B'&&ans!='C'&&ans!='D');</p><p> out_stream&
41、lt;<ans;</p><p> out_stream.close();</p><p><b> maxnum++;</b></p><p> cout<<"繼續(xù)回答問題嗎? 選擇 '1' 繼續(xù),選擇'2' 回到主菜單。"<<endl;</p>
42、;<p> cin>>dist;</p><p> }while(dist==1);</p><p> doselect(menu()); </p><p><b> }</b></p><p><b> 性能:</b></p><p>
43、?。?)用文件保存試題庫(每題包括題干、4個備選答案、標準答案)</p><p> ?。?)試題錄入:可隨時增加試題到試題庫中</p><p> ?。?)可以在錄完,每一道題后,退出或繼續(xù)錄入</p><p> 輸入值:按照相應的提示輸入信息,題目會保存到tiku.txt中,答案會保存到"answer.txt"中,并且原來的信息不會丟失。保存到
44、兩個文件中在自動判題時就要求兩個文件一起調用,當然這是另外一部分,不在我的程序內。輸入的信息可以是字符也可以是漢字。</p><p> 算法:此模塊算法最大特點是根據(jù)字符#判斷試題的題目和選項錄入是否結束。利用循環(huán)來實現(xiàn)試題一道一道的錄入,從而保存到文件中。</p><p><b> 數(shù)據(jù)文件存儲說明:</b></p><p> 圖3-2
45、文件存儲示意圖</p><p> 3.4 掃描題庫模塊</p><p> 模塊描述:此模塊是為了確定試題庫中有多少道題,并且其在錄入試題時也會起到作用,根據(jù)其掃描出的題數(shù),確定錄入試題的題號。程序如下:</p><p> //*************掃描題庫********************************</p><p&g
46、t; //統(tǒng)計已有題目數(shù)量</p><p> int checkAll(){</p><p> int count=0;</p><p> char check;</p><p> ifstream in_stream;</p><p> in_stream.open("tiku.txt&quo
47、t;); //用open函數(shù)打開tiku.txt文本</p><p> if (in_stream.fail()) //判斷打開是否成功</p><p><b> {</b></p><p> cout<<"Input file opening failed.\n";</p>
48、<p><b> exit(1);</b></p><p><b> }</b></p><p> while(in_stream >>check)</p><p><b> {</b></p><p> if (check=='@&
49、#39;)</p><p><b> count++;</b></p><p><b> }</b></p><p> return count; </p><p><b> }</b></p><p> 算法:此塊的算法是在根據(jù)錄入試題時在題
50、號前面自動錄一個@,所以在掃描時根據(jù)@的個數(shù)來判斷試題的個數(shù)。</p><p><b> 3.5程序輔助模塊</b></p><p> 輔助模塊是為了能夠實現(xiàn)各模塊之間緊密的連接,比如程序中的menu,select模塊等。</p><p><b> 3.6 約束條件</b></p><p>
51、 硬件環(huán)境:內存256MB以上;硬盤60G以上</p><p> 其他組件:光驅(CDROM);顯卡(SVGA)適配器;集線器;交換機。</p><p> 系統(tǒng)平臺: Windows2003操作系統(tǒng), Office 2000辦公軟件</p><p> 設計語言:C++語言服務器:Tomact5.0</p><p> 運行軟件:Micr
52、osoft Visual C++6.0</p><p> 3.7 接口函數(shù)描述</p><p> 此部分程序有一個主函數(shù)和五個子函數(shù):</p><p> 1 int main 主函數(shù)</p><p> 2 int userlogin();功能:用戶登錄</p><p> 3 int menu
53、();功能:菜單函數(shù)</p><p> 4 void doselect(int choice);功能:選擇處理</p><p> 5 void add();功能:添加題目</p><p> 6 int checkAll();功能:掃描題庫</p><p><b> 3.8程序測試</b
54、></p><p> 完成教師管理系統(tǒng)的詳細設計后,接下來就到了系統(tǒng)測試階段。在這一階段中,首先要完成代碼的編譯過程。代碼初步完成編寫后,要仔細地進行編譯,根據(jù)系統(tǒng)提示錯誤,進行修改。注意代碼的書寫規(guī)范,包括命名慣例、注釋、分隔和縮進等。</p><p> 在這個過程中,我們要養(yǎng)成良好的程序編寫習慣,對編譯過程中經常出現(xiàn)的錯誤情況加以注意,為今后的程序編寫打下基礎。</p&
55、gt;<p> 3.9 調試結果及截圖</p><p><b> 程序主界面:</b></p><p><b> 圖3-3系統(tǒng)主界面</b></p><p> 測試內容:實現(xiàn)教師和學生兩個不同角色的登陸界面。</p><p> 操作步驟:輸入數(shù)字1,然后按任意鍵</p&
56、gt;<p> 期望結果:教師管理界面登陸成功</p><p><b> 操作截圖:</b></p><p> 圖3-4教師登陸界面</p><p> 測試內容:實現(xiàn)登陸正確,輸入錯誤會重新輸入</p><p> 操作步驟:輸入用戶名admin,然后按回車</p><p>
57、 期望結果:用戶界面登陸成功</p><p><b> 操作截圖:</b></p><p> 圖3-5密碼輸入界面</p><p> 操作:按回車判斷是否輸入正確</p><p><b> 操作截圖:</b></p><p> 圖3-6密碼正確后界面</p&
58、gt;<p><b> 操作界面:</b></p><p> 圖3-7密碼輸入錯誤界面</p><p> 測試內容:重新輸入密正確碼后是否進入擴充題界面</p><p> 操作步驟:按照提示操作;</p><p> 期望結果:輸入成功,進入擴充試題界面</p><p>&
59、lt;b> 操作界面;</b></p><p> 圖3-8登陸成功試題管理界面</p><p> 圖3-9試題錄入界面1</p><p> 測試內容:測試出入題目后是否能夠錄入文件</p><p> 操作步驟:輸入題目,不包括選項,最后輸入一個#字符;</p><p> 期望結果:輸入成功
60、,進入輸入選項界面</p><p> 圖3-10錄入選項界面</p><p> 測試內容:測試出錄入題目術后后是否能夠進入輸入A選項界面</p><p> 操作步驟:輸入題目數(shù),</p><p> 期望結果:輸入成功,進入輸入A選項界面</p><p> 圖3-11錄入A選項界面</p><
61、;p> 圖3-12錄入B選項界面</p><p> 圖3-13錄入C選項界面</p><p> 圖3-14錄入D選項界面</p><p> 圖3-15錄入答案界面</p><p> 圖3-16繼續(xù)錄入或退出界面</p><p> 圖3-17試題錄入文件截圖</p><p>
62、圖3-18 試題答案截圖</p><p> 第四章 軟件使用說明</p><p> 4.1 軟件開發(fā)起因以及使用說明</p><p> 此軟件開發(fā)是為了實現(xiàn)上機考試,給同學一個上機練習而產生的需求。近年來隨科技進步,網上考試越來越迫切,因此針對這一需求,此軟件就此產生。 </p><p> 此軟件分兩個模塊,一個是教師管理系統(tǒng),另一個
63、是學生考試系統(tǒng);教師可以隨時錄入試題,可以從問件上直接修改試題;學生可以直接選擇答題,和隨機答題兩種方式進行。并且此軟件可以自動判題,生成成績。給同學和老師帶來了很多方便。此程序操作簡單,很容易掌握。</p><p><b> 課程設計心得與體會</b></p><p> 課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),
64、是對學生實際工作能力的具體訓練和考察過程.隨著科學技術發(fā)展的日新日異,軟件開發(fā)已經成為當今計算機應用中空前活躍的領域, 在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握軟件的開發(fā)技術是十分重要的。</p><p> 回顧起此次選擇題考試系統(tǒng)課程設計,至今我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在整整兩星期的日子里,可以說得是苦多于甜,但是可以學到很多很多的東西,同時不僅可以鞏固了以前所學過的
65、知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說試題錄
66、入文件不知道怎么追加源文件保存,不懂結構體的運用,對軟件的匯編語言掌握得不好……通過這次課程設計之后,一定把這學期所學過的知識重新溫故。</p><p> 這次課程設計終于順利完成了,在設計中遇到了很多編程問題,最后在xx老師的辛勤指導下,終于由繁到簡,由逆而解。同時,在xx老師和同學的身上我學得到很多實用的知識,在此我表示感謝!同時,對給過我?guī)椭乃型瑢W和各位指導老師再次表示忠心的感謝! </p>
67、;<p><b> 附錄1 參考文獻</b></p><p> [1] 譚浩強著 C++程序設計.北京:清華大學出版社;1999</p><p> [2] 譚浩強著 C++程序設計題解與上機指導.北京:清華大學出版社;1999 </p><p> [3] (美)Richard Johnsonbangh Martin K
68、alin 著 面向對象程序設計C++語言描述 ,機械工業(yè)出版社;2006</p><p> 附錄2 程序源代碼</p><p><b> /*</b></p><p> 程序簡介:單選考試系統(tǒng)</p><p><b> 帳號:admin</b></p><p>
69、;<b> 密碼:123</b></p><p><b> */</b></p><p> #include <iostream></p><p> #include <cstdlib></p><p> #include <fstream></p
70、><p> #include <string></p><p> #include <ctime></p><p> using namespace std;</p><p> //***************全局變量定義*********************************</p>&
71、lt;p> int maxnum; //maxnum(題庫中已有的題目總數(shù))</p><p> float final_mark,rightnum,alldone ; //rightnum代表做對的題目數(shù),final_mark(最后成績),alldone(所做的題目總數(shù))</p><p> //****************************************
72、********************</p><p> //***************函數(shù)聲明*************************************</p><p> int userlogin();//用戶登錄</p><p> int menu();//菜單函數(shù)</p>&l
73、t;p> void doselect(int choice);//選擇處理</p><p> void checkresult(int optionque,char optionans);//判斷答案</p><p> void calculate();//計算成績</p><p> void randdo();
74、//隨機出題</p><p> void select();//出題</p><p> void add();//添加題目</p><p> int checkAll();//掃描題庫</p><p> //*************************
75、***********************************</p><p> //************************主函數(shù)******************************</p><p> int main() </p><p><b> { </b>&l
76、t;/p><p> cout<<"*************************************************"<<endl;</p><p> cout<<"*************************************************"<<endl;<
77、/p><p> cout<<"*************************************************"<<endl;</p><p> cout<<"*************************************************"<<endl;</p
78、><p> cout<<"*************************************************"<<endl;</p><p> cout<<"**************歡迎使用單選題管理系統(tǒng)*************"<<endl;</p><p&g
79、t; cout<<"*************************************************"<<endl;</p><p> cout<<"*************************************************"<<endl;</p><p>
80、 cout<<"*************************************************"<<endl;</p><p> cout<<"*************************************************"<<endl;</p><p>
81、cout<<">>>>教師請輸入1:"<<endl;</p><p> cout<<">>>>學生請輸入2:"<<endl;</p><p><b> int part;</b></p><p> cin
82、>>part;</p><p> if(part==1)</p><p> {maxnum=checkAll();</p><p> cout<<"*************************************************"<<endl;</p><p>
83、 cout<<"*************************************************"<<endl;</p><p> cout<<"*************************************************"<<endl;</p><p> c
84、out<<"*************************************************"<<endl;</p><p> cout<<"*************************************************"<<endl;</p><p> cou
85、t<<"**************歡迎使用單選題管理系統(tǒng)*************"<<endl;</p><p> cout<<"*************************************************"<<endl;</p><p> cout<<&quo
86、t;*************************************************"<<endl;</p><p> cout<<"*************************************************"<<endl;</p><p> cout<<"
87、*************************************************"<<endl;</p><p> system("pause");//調用DOS命令暫停</p><p> system("cls");//調用DOS命令清屏</p><p> srand(ti
88、me(0));//隨機種子設置</p><p> if(userlogin()==1)</p><p> doselect(menu()); //處理選擇</p><p><b> }</b></p><p><b> return 0;</b></p><p&g
89、t;<b> } </b></p><p> //********************************************用戶登錄</p><p> int userlogin()</p><p><b> {</b></p><p> char username[20];
90、//用戶名</p><p> char userpsw[20];//密碼</p><p> cout<<"***************************************************"<<endl;</p><p> cout<<"*****************
91、**********************************"<<endl;</p><p> cout<<"***************************************************"<<endl;</p><p> cout<<"***************
92、********教師登錄********************"<<endl;</p><p> cout<<"***************************************************"<<endl;</p><p> cout<<"*****************
93、**********************************"<<endl;</p><p> cout<<"***************************************************"<<endl;</p><p> cout<<"用戶名:";<
94、/p><p> cin>>username;</p><p> if(strcmp(username,"admin")){</p><p> cout<<"用戶名錯誤!"<<endl;</p><p> system("pause");<
95、/p><p> system("cls");</p><p> userlogin();</p><p><b> }</b></p><p><b> else{</b></p><p> cout<<"密 碼:"
96、;</p><p> cin>>userpsw;</p><p> if(strcmp(userpsw,"123")){</p><p> cout<<"密碼錯誤!"<<endl;</p><p> system("pause");<
97、/p><p> system("cls");</p><p> userlogin();</p><p><b> }</b></p><p><b> else{</b></p><p> system("pause");<
98、;/p><p> system("cls");</p><p><b> return 1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> return
99、0;</b></p><p><b> }</b></p><p> //********************************************菜單</p><p> int menu()</p><p><b> { </b></p><
100、;p> system("cls");</p><p> char choice;</p><p> cout<<"***************************************************"<<endl;</p><p> cout<<"*
101、**************************************************"<<endl;</p><p> cout<<"***************************************************"<<endl;</p><p> cout<<"
102、;***************************************************"<<endl;</p><p> cout<<"**********************試題管理*********************"<<endl;</p><p> cout<<"*
103、**************************************************"<<endl;</p><p> cout<<"***************************************************"<<endl;</p><p> cout<<"
104、;***************************************************"<<endl;</p><p> cout<<"***************************************************"<<endl;</p><p> cout<<&qu
105、ot;>>>>1.擴充題庫"<<endl</p><p> <<">>>>2.退出程序"<<endl</p><p> <<"請選擇操作:"; </p><p> cin>>choice;</p&g
106、t;<p><b> //選擇處理</b></p><p> if(choice>='1'&&choice<='2'){</p><p> return atoi(&choice);</p><p><b> }</b></p&
107、gt;<p><b> //非法輸入處理</b></p><p><b> else{</b></p><p> cout<<"請輸入正確的選擇."<<endl;</p><p> system("pause");</p>
108、<p> system("cls");</p><p><b> menu();</b></p><p><b> }</b></p><p><b> return 0;</b></p><p><b> }</b&g
109、t;</p><p> //**************************************************選擇處理</p><p> void doselect(int choice)</p><p><b> {</b></p><p> system("pause")
110、;</p><p> system("cls"); </p><p><b> //程序異常處理</b></p><p> if(choice==0) {</p><p> cout<<"程序異常"<<endl;</p><p&g
111、t;<b> exit(0);</b></p><p><b> }</b></p><p> switch(choice)</p><p><b> { </b></p><p> case 1 :add(); break;</p><p>
112、; case 2 :cout<<"退出系中……"<<endl;</p><p> system("pause");</p><p> break; </p><p><b> }</b></p><p><b> }</
113、b></p><p> void add() </p><p><b> { </b></p><p> ofstream out_stream; //文件流定義</p><p> char content[2000]; //用于存放輸入的題目</p><p&g
114、t; int dist,n; //dist 用于判斷是否繼續(xù)添加新的題目,n是數(shù)組計數(shù)器</p><p> int num; //用于計數(shù)</p><p> int optnum;</p><p><b> char ans;</b></p><p> char
115、ansnum='A';</p><p><b> do{</b></p><p><b> n=0;</b></p><p><b> num=1; </b></p><p> out_stream.open("tiku.txt",
116、ios::app); //打開文件tiku.txt,ios::app表示追加文件尾</p><p> if (out_stream.fail())</p><p> { cout<<"Input file opening failed.\n";</p><p><b> exit(1);</b>&l
117、t;/p><p><b> }</b></p><p> cout<<endl<<"注意:新增的題目中,不允許出現(xiàn)'@'和'#'!!! "<<endl;</p><p> cout<<"題庫中已有 "<<ma
118、xnum<<" 道題,請按順序編寫題號!"<<endl;</p><p> cout<<"請輸入題目(不包括選項,并在最后加一個字符'#'表示輸入完畢): \n";</p><p><b> do{</b></p><p> cin>>
119、content[n]; </p><p><b> n++; </b></p><p> }while(content[n-1]!='#');</p><p><b> n=0;</b></p><p> while(content[n]!='#
120、')</p><p> { out_stream<<content[n];</p><p><b> n++;</b></p><p><b> };</b></p><p> out_stream<<endl;</p><p> c
121、out<<"你想要設置幾個選項呢?請輸入答案選項數(shù):";</p><p> cin>>optnum;</p><p><b> do{ </b></p><p><b> n=0; </b></p><p> cout<<"
122、請輸入第 "<<num<<" 個選項(在最后加一個字符'#'表示輸入完畢)"<<endl;</p><p><b> do{</b></p><p> cin>>content[n];</p><p><b> n++;</b&g
123、t;</p><p> }while(content[n-1]!='#'); </p><p><b> n=0;</b></p><p> while(content[n]!='#')</p><p><b> { </b></p>&
124、lt;p> out_stream<<content[n];</p><p><b> n++; </b></p><p><b> };</b></p><p> out_stream<<endl;</p><p><b> num++;<
125、;/b></p><p> }while(num!=optnum+1);</p><p> out_stream<<endl<<"@"<<endl;</p><p> out_stream.close();</p><p> out_stream.open("an
126、swer.txt",ios::app); //打開文件tiku.txt,ios::app表示追加文件尾</p><p> if (out_stream.fail())</p><p> { cout<<"Input file opening failed.\n";</p><p><b> exit(
127、1);</b></p><p><b> }</b></p><p><b> do {</b></p><p> cout<<"請錄入答案:\n";</p><p><b> cin>>ans;</b></
128、p><p> }while(ans!='A'&&ans!='B'&&ans!='C'&&ans!='D');</p><p> out_stream<<ans;</p><p> out_stream.close();</p>
129、<p><b> maxnum++;</b></p><p> cout<<"繼續(xù)回答問題嗎? 選擇 '1' 繼續(xù),選擇'2' 回到主菜單。"<<endl;</p><p> cin>>dist;</p><p> }while(dist=
130、=1);</p><p> doselect(menu()); </p><p><b> }</b></p><p> //*************掃描題庫********************************</p><p> //統(tǒng)計已有題目數(shù)量</p><p> in
131、t checkAll(){</p><p> int count=0;</p><p> char check;</p><p> ifstream in_stream;</p><p> in_stream.open("tiku.txt"); //用open函數(shù)打開tiku.txt文本</p>
132、<p> if (in_stream.fail()) //判斷打開是否成功</p><p><b> {</b></p><p> cout<<"Input file opening failed.\n";</p><p><b> exit(1);</b>
133、;</p><p><b> }</b></p><p> while(in_stream >>check)</p><p><b> {</b></p><p> if (check=='@')</p><p><b> co
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++填空選擇題
- c語言課程設計單項選擇題標準化考試系統(tǒng)
- c語言課程設計單項選擇題標準化考試系統(tǒng)設計
- c語言課程設計報告--單項選擇題標準化考試系統(tǒng)
- c語言課程設計報告---單項選擇題標準化考試系統(tǒng)
- 課程設計--單項選擇題標準化考試系統(tǒng)
- c++課程設計--設計菜單選擇程序
- 航空售票系統(tǒng)+c++課程設計
- c++酒店管理系統(tǒng)課程設計
- c++校園導游系統(tǒng)課程設計
- c++酒店管理系統(tǒng)課程設計
- c++課程設計——飛機訂票系統(tǒng)
- 銷售管理系統(tǒng)c++課程設計
- 《c++》課程設計倉庫管理系統(tǒng)
- c++課程設計-學生管理系統(tǒng)
- c++學生管理系統(tǒng)課程設計
- c++課程設計--酒店管理系統(tǒng)
- c++課程設計報告
- c++課程設計ppt
- c++課程設計--基于c++的火車票管理系統(tǒng)
評論
0/150
提交評論