2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩30頁(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、<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>  第一章 課程設(shè)計(jì)的目的和要求1</p><p>  1.1 課程設(shè)計(jì)的目的1</p><p>  1.2 課程設(shè)計(jì)的

3、基本要求:1</p><p>  第二章 課程設(shè)計(jì)任務(wù)內(nèi)容2</p><p>  2.1 課程設(shè)計(jì)任務(wù)內(nèi)容2</p><p>  第三章 課程設(shè)計(jì)詳細(xì)設(shè)計(jì)說(shuō)明3</p><p>  3.1 程序模塊總圖3</p><p>  3.2 教師登錄模塊3</p><p>  3.3 試題管

4、理模塊5</p><p>  3.4 掃描題庫(kù)模塊7</p><p>  3.5 程序輔助模塊8</p><p>  3.6 約束條件8</p><p>  3.7 接口函數(shù)描述8</p><p>  3.8 程序測(cè)試9</p><p>  3.9 調(diào)試結(jié)果及截圖9</p&g

5、t;<p>  第四章 軟件使用說(shuō)明19</p><p>  4.1 軟件開(kāi)發(fā)起因以及使用說(shuō)明19</p><p>  第五章 課程設(shè)計(jì)心得與體會(huì)20</p><p>  附錄1 參考文獻(xiàn)21</p><p>  附錄2 程序源代碼22</p><p>  第一章 課程設(shè)計(jì)的目的和要求<

6、/p><p>  1.1課程設(shè)計(jì)的目的</p><p>  VC程序設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的基礎(chǔ)課程,其實(shí)踐性、應(yīng)用性很強(qiáng)。實(shí)踐教學(xué)環(huán)節(jié)是必不可少的一個(gè)重要環(huán)節(jié)。課程設(shè)計(jì)的目的是加深對(duì)理論教學(xué)內(nèi)容的理解和掌握,使學(xué)生較系統(tǒng)的掌握程序設(shè)計(jì)及其在網(wǎng)絡(luò)開(kāi)發(fā)中的廣泛應(yīng)用,基本方法及技巧,為學(xué)生綜合運(yùn)用所學(xué)知識(shí),利用軟件工程為基礎(chǔ)進(jìn)行軟件開(kāi)發(fā)、并在實(shí)踐應(yīng)用方面打下一定基礎(chǔ)。要求學(xué)生在設(shè)計(jì)指導(dǎo)教師的幫

7、助下自行完成各個(gè)操作環(huán)節(jié),并能實(shí)現(xiàn)且達(dá)到舉一反三的目的,完成一個(gè)項(xiàng)目解決一類問(wèn)題。要求學(xué)生能夠全面、深入理解和熟悉掌握所學(xué)內(nèi)容,并能夠用其分析、設(shè)計(jì)和解答類似問(wèn)題;對(duì)此能夠較好的理解和掌握,能夠進(jìn)行簡(jiǎn)單分析和判斷;能編寫出良好風(fēng)格的程序;掌握VC程序設(shè)計(jì)的基本技能和面向?qū)ο蟮母拍詈头椒?。培養(yǎng)學(xué)生進(jìn)行設(shè)計(jì)分析、設(shè)計(jì)方法、設(shè)計(jì)操作與測(cè)試、設(shè)計(jì)過(guò)程的觀察、理解和歸納能力的提高。</p><p>  1.2 課程設(shè)計(jì)的基

8、本要求:</p><p> ?。?) 掌握VC編程、面向?qū)ο蟮幕A(chǔ)知識(shí)。</p><p>  (2) 掌握API、MFC編程的消息響應(yīng)機(jī)制和應(yīng)用程序框架。</p><p> ?。?) 較熟悉地編寫基于API、MFC的VC應(yīng)用程序。</p><p> ?。?) 了解VC的常用標(biāo)準(zhǔn)類庫(kù)、編程技巧及高級(jí)編程。</p><p>

9、; ?。?) 了解學(xué)生管理系統(tǒng)設(shè)計(jì)的可行性分析、設(shè)計(jì)、模塊劃分、功能實(shí)現(xiàn)、軟件調(diào)試、軟件評(píng)估。</p><p> ?。?) 聯(lián)系已學(xué)過(guò)的內(nèi)容,鞏固所學(xué)的理論,增強(qiáng)獨(dú)立工作能力。</p><p>  (7) 通過(guò)設(shè)計(jì)主要使學(xué)生有一個(gè)系統(tǒng)總體開(kāi)發(fā),總體設(shè)計(jì)、總體實(shí)現(xiàn)的完整過(guò)程,對(duì)理論學(xué)習(xí)及動(dòng)手能力都有一個(gè)很大的提高。</p><p> ?。?) 通過(guò)本次設(shè)計(jì),進(jìn)一步培養(yǎng)

10、學(xué)生熱愛(ài)專業(yè)的理想,同時(shí)對(duì)本專業(yè)綜合素質(zhì)的提高起一個(gè)積極的推動(dòng)作用。</p><p> ?。?) 能合理的安排個(gè)人的工作地點(diǎn),并遵守操作規(guī)程與安全技術(shù)規(guī)則。</p><p>  第二章 課程設(shè)計(jì)任務(wù)內(nèi)容</p><p>  2.1課程設(shè)計(jì)任務(wù)內(nèi)容</p><p>  單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)功能要求:</p><p>

11、  用文件保存試題庫(kù)(每題包括題干、4個(gè)備選答案、標(biāo)準(zhǔn)答案)</p><p>  試題錄入:可隨時(shí)增加試題到試題庫(kù)中</p><p>  試題抽?。好看螐脑囶}庫(kù)中隨機(jī)抽取N道題,N由鍵盤輸入</p><p>  答題:用戶輸入自己的答案</p><p>  自動(dòng)判卷:系統(tǒng)根據(jù)標(biāo)準(zhǔn)答案實(shí)現(xiàn)自動(dòng)判卷,并給出成績(jī)</p><p&

12、gt;  要求:1)用C語(yǔ)言實(shí)現(xiàn)系統(tǒng);2)函數(shù)功能要?jiǎng)澐趾茫ńY(jié)構(gòu)化程序設(shè)計(jì));3)界面友好(良好的人機(jī)交互),加必要的注釋;4)提供程序測(cè)試方案。</p><p>  第三章 課程設(shè)計(jì)詳細(xì)設(shè)計(jì)說(shuō)明</p><p>  3.1 程序模塊總圖</p><p>  程序模塊功能如圖所示:</p><p>  圖3-1程序功能示意圖</

13、p><p>  由于此程序較復(fù)雜要求兩個(gè)人分工合作完成,所以我負(fù)責(zé)其中教師管理系統(tǒng)。從圖中可以看出程序中教師的管理系統(tǒng)又分三個(gè)模塊:</p><p> ?。?) 教師登陸模塊</p><p>  (2) 試題管理模塊</p><p> ?。?) 掃描題庫(kù)模塊</p><p>  3.2 教師登錄模塊</p>

14、<p>  模塊描述:此模塊是確保試題的保密,不被任意人隨意看到而設(shè)置的一個(gè)密碼驗(yàn)證登陸模塊。其作用是起到保護(hù)試題不被泄露。程序如下:</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<<"用戶名錯(cuò)誤!"<<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<<"密碼錯(cuò)誤!"<<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>  此模塊的性能:密碼登陸。其靈活性很高,當(dāng)密碼輸入錯(cuò)誤時(shí),界面上會(huì)提示“按任意鍵。。?!焙?,刷新登陸界面重新輸入。</p><p>  輸入值:輸入的賬號(hào)以及密碼

24、是唯一的,其程序是采用字符串的運(yùn)算函數(shù)strcmp(比較)來(lái)確定密碼是否正確的。字符串的長(zhǎng)度是二十個(gè)字符,所以在超出20個(gè)字符后會(huì)只會(huì)程序中只會(huì)存儲(chǔ)前20個(gè)字符。</p><p>  算法:算法很簡(jiǎn)單,只是通過(guò)字符串的比較得出的0或1的值,再用if語(yǔ)句來(lái)選擇,1進(jìn)行下個(gè)模塊的運(yùn)行,0表示輸入錯(cuò)誤,重新輸入。</p><p>  3.3 試題管理模塊</p><p>

25、  模塊描述:由于此模塊比較復(fù)雜,所以主要在(1)用文件保存試題庫(kù),(2)試題錄入:可隨時(shí)增加試題到試題庫(kù)中,這兩個(gè)功能中。此模塊程序如下:</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ù)組計(jì)數(shù)器</p><p>  int num; //用于計(jì)數(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); //打開(kāi)文件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<<"題庫(kù)中已有 "<<maxnum<<" 道題,請(qǐng)按順序編寫題號(hào)!"<<endl;</p><p>  cout<<"請(qǐng)輸入題目(不包括選項(xiàng),并在最后加一個(gè)字符'#'表示輸入完畢): \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è)置幾個(gè)選項(xiàng)呢?請(qǐng)輸入答案選項(xiàng)數(shù):";</p><p>  cin>>optnum;</p><p><b>  do{ </b></p><p><

34、;b>  n=0; </b></p><p>  cout<<"請(qǐng)輸入第 "<<num<<" 個(gè)選項(xiàng)(在最后加一個(gè)字符'#'表示輸入完畢)"<<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); //打開(kāi)文件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<<"請(qǐng)錄入答案:\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ù)回答問(wèn)題嗎? 選擇 '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、?。?)用文件保存試題庫(kù)(每題包括題干、4個(gè)備選答案、標(biāo)準(zhǔn)答案)</p><p> ?。?)試題錄入:可隨時(shí)增加試題到試題庫(kù)中</p><p> ?。?)可以在錄完,每一道題后,退出或繼續(xù)錄入</p><p>  輸入值:按照相應(yīng)的提示輸入信息,題目會(huì)保存到tiku.txt中,答案會(huì)保存到"answer.txt"中,并且原來(lái)的信息不會(huì)丟失。保存到

44、兩個(gè)文件中在自動(dòng)判題時(shí)就要求兩個(gè)文件一起調(diào)用,當(dāng)然這是另外一部分,不在我的程序內(nèi)。輸入的信息可以是字符也可以是漢字。</p><p>  算法:此模塊算法最大特點(diǎn)是根據(jù)字符#判斷試題的題目和選項(xiàng)錄入是否結(jié)束。利用循環(huán)來(lái)實(shí)現(xiàn)試題一道一道的錄入,從而保存到文件中。</p><p><b>  數(shù)據(jù)文件存儲(chǔ)說(shuō)明:</b></p><p>  圖3-2

45、文件存儲(chǔ)示意圖</p><p>  3.4 掃描題庫(kù)模塊</p><p>  模塊描述:此模塊是為了確定試題庫(kù)中有多少道題,并且其在錄入試題時(shí)也會(huì)起到作用,根據(jù)其掃描出的題數(shù),確定錄入試題的題號(hào)。程序如下:</p><p>  //*************掃描題庫(kù)********************************</p><p&g

46、t;  //統(tǒng)計(jì)已有題目數(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ù)打開(kāi)tiku.txt文本</p><p>  if (in_stream.fail()) //判斷打開(kāi)是否成功</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ù)錄入試題時(shí)在題

50、號(hào)前面自動(dòng)錄一個(gè)@,所以在掃描時(shí)根據(jù)@的個(gè)數(shù)來(lái)判斷試題的個(gè)數(shù)。</p><p><b>  3.5程序輔助模塊</b></p><p>  輔助模塊是為了能夠?qū)崿F(xiàn)各模塊之間緊密的連接,比如程序中的menu,select模塊等。</p><p><b>  3.6 約束條件</b></p><p> 

51、 硬件環(huán)境:內(nèi)存256MB以上;硬盤60G以上</p><p>  其他組件:光驅(qū)(CDROM);顯卡(SVGA)適配器;集線器;交換機(jī)。</p><p>  系統(tǒng)平臺(tái): Windows2003操作系統(tǒng), Office 2000辦公軟件</p><p>  設(shè)計(jì)語(yǔ)言:C++語(yǔ)言服務(wù)器:Tomact5.0</p><p>  運(yùn)行軟件:Micr

52、osoft Visual C++6.0</p><p>  3.7 接口函數(shù)描述</p><p>  此部分程序有一個(gè)主函數(shù)和五個(gè)子函數(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();功能:掃描題庫(kù)</p><p><b>  3.8程序測(cè)試</b

54、></p><p>  完成教師管理系統(tǒng)的詳細(xì)設(shè)計(jì)后,接下來(lái)就到了系統(tǒng)測(cè)試階段。在這一階段中,首先要完成代碼的編譯過(guò)程。代碼初步完成編寫后,要仔細(xì)地進(jìn)行編譯,根據(jù)系統(tǒng)提示錯(cuò)誤,進(jìn)行修改。注意代碼的書寫規(guī)范,包括命名慣例、注釋、分隔和縮進(jìn)等。</p><p>  在這個(gè)過(guò)程中,我們要養(yǎng)成良好的程序編寫習(xí)慣,對(duì)編譯過(guò)程中經(jīng)常出現(xiàn)的錯(cuò)誤情況加以注意,為今后的程序編寫打下基礎(chǔ)。</p&

55、gt;<p>  3.9 調(diào)試結(jié)果及截圖</p><p><b>  程序主界面:</b></p><p><b>  圖3-3系統(tǒng)主界面</b></p><p>  測(cè)試內(nèi)容:實(shí)現(xiàn)教師和學(xué)生兩個(gè)不同角色的登陸界面。</p><p>  操作步驟:輸入數(shù)字1,然后按任意鍵</p&

56、gt;<p>  期望結(jié)果:教師管理界面登陸成功</p><p><b>  操作截圖:</b></p><p>  圖3-4教師登陸界面</p><p>  測(cè)試內(nèi)容:實(shí)現(xiàn)登陸正確,輸入錯(cuò)誤會(huì)重新輸入</p><p>  操作步驟:輸入用戶名admin,然后按回車</p><p>

57、  期望結(jié)果:用戶界面登陸成功</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密碼輸入錯(cuò)誤界面</p><p>  測(cè)試內(nèi)容:重新輸入密正確碼后是否進(jìn)入擴(kuò)充題界面</p><p>  操作步驟:按照提示操作;</p><p>  期望結(jié)果:輸入成功,進(jìn)入擴(kuò)充試題界面</p><p>&

59、lt;b>  操作界面;</b></p><p>  圖3-8登陸成功試題管理界面</p><p>  圖3-9試題錄入界面1</p><p>  測(cè)試內(nèi)容:測(cè)試出入題目后是否能夠錄入文件</p><p>  操作步驟:輸入題目,不包括選項(xiàng),最后輸入一個(gè)#字符;</p><p>  期望結(jié)果:輸入成功

60、,進(jìn)入輸入選項(xiàng)界面</p><p>  圖3-10錄入選項(xiàng)界面</p><p>  測(cè)試內(nèi)容:測(cè)試出錄入題目術(shù)后后是否能夠進(jìn)入輸入A選項(xiàng)界面</p><p>  操作步驟:輸入題目數(shù),</p><p>  期望結(jié)果:輸入成功,進(jìn)入輸入A選項(xiàng)界面</p><p>  圖3-11錄入A選項(xiàng)界面</p><

61、;p>  圖3-12錄入B選項(xiàng)界面</p><p>  圖3-13錄入C選項(xiàng)界面</p><p>  圖3-14錄入D選項(xiàng)界面</p><p>  圖3-15錄入答案界面</p><p>  圖3-16繼續(xù)錄入或退出界面</p><p>  圖3-17試題錄入文件截圖</p><p>  

62、圖3-18 試題答案截圖</p><p>  第四章 軟件使用說(shuō)明</p><p>  4.1 軟件開(kāi)發(fā)起因以及使用說(shuō)明</p><p>  此軟件開(kāi)發(fā)是為了實(shí)現(xiàn)上機(jī)考試,給同學(xué)一個(gè)上機(jī)練習(xí)而產(chǎn)生的需求。近年來(lái)隨科技進(jìn)步,網(wǎng)上考試越來(lái)越迫切,因此針對(duì)這一需求,此軟件就此產(chǎn)生。 </p><p>  此軟件分兩個(gè)模塊,一個(gè)是教師管理系統(tǒng),另一個(gè)

63、是學(xué)生考試系統(tǒng);教師可以隨時(shí)錄入試題,可以從問(wèn)件上直接修改試題;學(xué)生可以直接選擇答題,和隨機(jī)答題兩種方式進(jìn)行。并且此軟件可以自動(dòng)判題,生成成績(jī)。給同學(xué)和老師帶來(lái)了很多方便。此程序操作簡(jiǎn)單,很容易掌握。</p><p><b>  課程設(shè)計(jì)心得與體會(huì)</b></p><p>  課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),

64、是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新日異,軟件開(kāi)發(fā)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握軟件的開(kāi)發(fā)技術(shù)是十分重要的。</p><p>  回顧起此次選擇題考試系統(tǒng)課程設(shè)計(jì),至今我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在整整兩星期的日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的

65、知識(shí),而且學(xué)到了很多在書本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說(shuō)試題錄

66、入文件不知道怎么追加源文件保存,不懂結(jié)構(gòu)體的運(yùn)用,對(duì)軟件的匯編語(yǔ)言掌握得不好……通過(guò)這次課程設(shè)計(jì)之后,一定把這學(xué)期所學(xué)過(guò)的知識(shí)重新溫故。</p><p>  這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問(wèn)題,最后在xx老師的辛勤指導(dǎo)下,終于由繁到簡(jiǎn),由逆而解。同時(shí),在xx老師和同學(xué)的身上我學(xué)得到很多實(shí)用的知識(shí),在此我表示感謝!同時(shí),對(duì)給過(guò)我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝! </p>

67、;<p><b>  附錄1 參考文獻(xiàn)</b></p><p>  [1] 譚浩強(qiáng)著 C++程序設(shè)計(jì).北京:清華大學(xué)出版社;1999</p><p>  [2] 譚浩強(qiáng)著 C++程序設(shè)計(jì)題解與上機(jī)指導(dǎo).北京:清華大學(xué)出版社;1999 </p><p>  [3] (美)Richard Johnsonbangh Martin K

68、alin 著 面向?qū)ο蟪绦蛟O(shè)計(jì)C++語(yǔ)言描述 ,機(jī)械工業(yè)出版社;2006</p><p>  附錄2 程序源代碼</p><p><b>  /*</b></p><p>  程序簡(jiǎn)介:?jiǎn)芜x考試系統(tǒng)</p><p><b>  帳號(hào):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(題庫(kù)中已有的題目總數(shù))</p><p>  float final_mark,rightnum,alldone ; //rightnum代表做對(duì)的題目數(shù),final_mark(最后成績(jī)),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();//計(jì)算成績(jī)</p><p>  void randdo();

74、//隨機(jī)出題</p><p>  void select();//出題</p><p>  void add();//添加題目</p><p>  int checkAll();//掃描題庫(kù)</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<<">>>>教師請(qǐng)輸入1:"<<endl;</p><p>  cout<<">>>>學(xué)生請(qǐng)輸入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");//調(diào)用DOS命令暫停</p><p>  system("cls");//調(diào)用DOS命令清屏</p><p>  srand(ti

88、me(0));//隨機(jī)種子設(shè)置</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<<"用戶名錯(cuò)誤!"<<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<<"密碼錯(cuò)誤!"<<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.擴(kuò)充題庫(kù)"<<endl</p><p>  <<">>>>2.退出程序"<<endl</p><p>  <<"請(qǐng)選擇操作:"; </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<<"請(qǐng)輸入正確的選擇."<<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ù)組計(jì)數(shù)器</p><p>  int num; //用于計(jì)數(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); //打開(kāi)文件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<<"題庫(kù)中已有 "<<ma

118、xnum<<" 道題,請(qǐng)按順序編寫題號(hào)!"<<endl;</p><p>  cout<<"請(qǐng)輸入題目(不包括選項(xiàng),并在最后加一個(gè)字符'#'表示輸入完畢): \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è)置幾個(gè)選項(xiàng)呢?請(qǐng)輸入答案選項(xiàng)數(shù):";</p><p>  cin>>optnum;</p><p><b>  do{ </b></p><p><b>  n=0; </b></p><p>  cout<<"

122、請(qǐng)輸入第 "<<num<<" 個(gè)選項(xiàng)(在最后加一個(gè)字符'#'表示輸入完畢)"<<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); //打開(kāi)文件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<<"請(qǐng)錄入答案:\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ù)回答問(wèn)題嗎? 選擇 '1' 繼續(xù),選擇'2' 回到主菜單。"<<endl;</p><p>  cin>>dist;</p><p>  }while(dist=

130、=1);</p><p>  doselect(menu()); </p><p><b>  }</b></p><p>  //*************掃描題庫(kù)********************************</p><p>  //統(tǒng)計(jì)已有題目數(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ù)打開(kāi)tiku.txt文本</p>

132、<p>  if (in_stream.fail()) //判斷打開(kāi)是否成功</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. 本站所有資源如無(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ù)僅提供信息存儲(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)論