2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  《程序設(shè)計基礎(chǔ)課程設(shè)計》</p><p><b>  課程設(shè)計報告</b></p><p><b>  目的與要求</b></p><p>  通過本課程設(shè)計的實踐,全面總結(jié)C++課程學(xué)習(xí)中的的數(shù)據(jù)類型、程序結(jié)構(gòu)、數(shù)組、函數(shù)、指針、結(jié)構(gòu)體、鏈表等基本概念,掌握其使用方法。掌握面向?qū)ο蟪绦蛟O(shè)計中有關(guān)類、

2、對象、繼承、重載、多態(tài)性、輸入輸出流類體系、文件操作的基本概念,初步學(xué)會用類與對象這種面向?qū)ο蟮某绦蛟O(shè)計方法編寫應(yīng)用程序。培養(yǎng)使用面向?qū)ο蟮某绦蛟O(shè)計方法編寫計算機程序的能力。</p><p>  通過設(shè)計一個《小學(xué)生成績統(tǒng)計管理》,進(jìn)一步熟悉C++中類的概念、類的封裝、繼承的實現(xiàn)方式。了解系統(tǒng)開發(fā)的需求分析、類層次設(shè)計、模塊分解、編碼測試、模塊組裝與整體調(diào)試的全過程,加深對C++的理解與Visual C++環(huán)境的

3、使用;逐步熟悉程序設(shè)計的方法,并養(yǎng)成良好的編程習(xí)慣。程序設(shè)計是一門實踐性很強的課程,必須十分重視實踐環(huán)節(jié)。許多實際的知識不是靠聽課和看書學(xué)到的,而是通過長時間的實踐積累的。</p><p><b>  設(shè)計內(nèi)容</b></p><p><b>  學(xué)生成績管理系統(tǒng)</b></p><p><b>  1.基本功能

4、:</b></p><p>  成績的輸入(學(xué)號、姓名、語文、英語、數(shù)學(xué));</p><p>  成績統(tǒng)計(各科平均成績、各科成績“優(yōu)秀”、“良好”、“中等”、“及格”、“不及格”的人數(shù)及其所占比例);</p><p>  總成績統(tǒng)計(學(xué)生的總成績、平均成績及成績排名)</p><p>  成績的統(tǒng)計結(jié)果顯示。</p>

5、<p><b>  擴展功能:</b></p><p>  學(xué)生數(shù)據(jù)的添加、修改、與刪除</p><p>  學(xué)生數(shù)據(jù)的讀取與存儲</p><p><b>  3.設(shè)計要求</b></p><p>  a)采用面向?qū)ο蟮乃枷牒头椒ㄍ瓿稍O(shè)計,最好能夠基于windows圖形界面 。<

6、/p><p>  b)至少設(shè)計四個類;學(xué)生類(描述學(xué)生基本信息);成績類:班級類;課程類(描述課程信息:課程編號,科目名稱(數(shù)學(xué),英語等);學(xué)生成績及課程信息用文件保存,每個類一個文件,程序執(zhí)行時從文件讀入。</p><p><b>  過程與結(jié)果</b></p><p><b>  主要內(nèi)容如下:</b></p>

7、<p>  關(guān)鍵類的設(shè)計,繼承層次關(guān)系,代碼:</p><p>  首先,創(chuàng)建了一個student類.在student類的共有部分聲明程序所需函數(shù);然后就是student類的函數(shù)實現(xiàn)部分,其中定義student類的帶參數(shù)及不帶參數(shù)構(gòu)造函數(shù);再是常用函數(shù)的調(diào)用,并定義系統(tǒng)菜單函數(shù)及其界面;最后就是主函數(shù)文件。</p><p>  Student類的聲明如下:</p>

8、<p>  主要功能函數(shù)的設(shè)計:</p><p>  1. 關(guān)于計算總成績和平均成績以及評定成績等級的函數(shù),而用于成績統(tǒng)計中優(yōu)秀、良好、中等、及格、不及格的計算,不過為便于表達(dá),此程序采用字母A,B,C,D,E來分別表達(dá)上述</p><p><b>  等級;代碼如下:</b></p><p>  2.此函數(shù)為查找函數(shù)的實現(xiàn)過程,

9、通過while switch和if語句以及制表格和setw的使用將輸入的數(shù)據(jù)以表格的形式打印出來,等級一欄寬度略小;</p><p>  3.此函數(shù)為刪除函數(shù)的實現(xiàn)部分,巧妙運用字母i,定義i的值0為數(shù)據(jù)不存在,1為數(shù)據(jù)存在的情況,刪除時考慮數(shù)據(jù)存在與否的問題;</p><p>  4.排序函數(shù)中分四種情況排序,分別按學(xué)號,總分,平均分來排序,排序結(jié)果也能有升序或降序操作,通過while

10、else語句以及制表格和case的使用將輸入的數(shù)據(jù)排序出來;因函數(shù)體過于龐大,在后面代碼清單羅列出來時會標(biāo)示出來。</p><p>  數(shù)據(jù)輸入設(shè)計:數(shù)據(jù)輸入以輸出方式打開文件,通過this指針和地址引用把寫入的數(shù)據(jù)加在文件末尾;</p><p><b>  程序測試結(jié)果:</b></p><p>  1運行程序.會出現(xiàn)如下畫面,按照提示進(jìn)行選

11、擇.</p><p>  首先選擇1,然后按Enter鍵.按照提示對學(xué)生情況進(jìn)行輸入.如圖:</p><p>  按任意鍵程序自動保存第一個同學(xué)的數(shù)據(jù),并返回菜單,按照剛才的步驟繼續(xù)輸入第二個、第三個同學(xué)等等的數(shù)據(jù);</p><p>  選擇4, 然后按Enter鍵.對數(shù)據(jù)進(jìn)行進(jìn)行有目的性的排序.如圖:</p><p>  5.譬如選擇2按總

12、分排序,按Enter鍵,再在接下來的提示框中選擇降序排序類型,再按一次Enter鍵,排序結(jié)果如圖:符合設(shè)計要求,但各科成績“優(yōu)秀”、“良好”、“中等”、“及格”、“不及格”的人數(shù)及其所占比例因個人能力有限未能設(shè)計出來;</p><p>  6.按任意鍵又返回菜單,繼續(xù)接下來的操作;</p><p><b>  設(shè)計總結(jié)</b></p><p>

13、  這次課程設(shè)計基本上涵蓋了大學(xué)一年級學(xué)習(xí)到的C++ 語言知識點,課程設(shè)計題目要求不僅要求對課本知識有較深刻的了解,同時要求程序設(shè)計者有較強的思維和動手能力。這次課設(shè)使我了解我編程思想和編程技巧,也認(rèn)識了軟件生命周期的各個環(huán)境,包括構(gòu)思、設(shè)計、編寫、調(diào)試、發(fā)布、文檔化、維護和修訂。</p><p>  C++程序編譯是一種要求特別精細(xì)的工作,小到一個分號(或點)都能影響整個程序的運行,這就要求我們編寫程序時要特別

14、細(xì)心,即使是一個符號,還是一個字母都不能亂用。在這次的編寫過程中,我就因為錯把case序列語句里的變量中的p寫成q使整個程序癱瘓。它讓我記住了學(xué)習(xí)需要認(rèn)真、仔細(xì)、負(fù)責(zé)的態(tài)度對待。</p><p>  這次課程設(shè)計雖說很辛苦,而且設(shè)計出來的程序不全具備課程所需的,不過擴展功能學(xué)生數(shù)據(jù)的添加、修改、與刪除的函數(shù)嵌進(jìn)去,而且排序功能關(guān)聯(lián)升序和降序功能,正所謂魚與熊掌不可得兼。這次課程設(shè)計,在整個程序中,我們通過使用wh

15、ile循環(huán),switch語句,冒泡排序法,表格設(shè)計中的setw()以及類的定義及使用來完成程序設(shè)計,使我提高了對C++中語句的使用能力和組合能力,進(jìn)一步加強了我對使用C++編程的能力。還讓我掌握了高級程序設(shè)計語言的基本思想、基本概念、基本方法和基本技能,while語句,this指針,case作為程序的入口,一般結(jié)合switch使用等等。</p><p>  一個星期以來的課程設(shè)計,感謝幫助我的同學(xué)和師長,通過和他

16、們的交流,互相交流經(jīng)驗,我這次設(shè)計的程序中各大主函數(shù)體得以設(shè)計出來,感謝他們在我編程過程中為我做的提醒和指點,這真的很重要。</p><p>  這次課程設(shè)計不僅讓我修補了以前學(xué)習(xí)的漏洞,也讓我知道一個道理:編程需要興趣和實際動手。這應(yīng)該可以借鑒在同學(xué)或者師長們的編程經(jīng)驗上。創(chuàng)新思維至關(guān)重要,相對于我這略感冗余卻實現(xiàn)不了更多功能的程序來說,有必要寫出精簡的代碼,也有助于開發(fā)出高效的程序。雖說我編寫的程序離專業(yè)人員

17、設(shè)計的還有好大一段距離,但它已經(jīng)是我目前的極限。我相信,通過我的努力,在不久的將來,我會編出一組真正實用的程序的。</p><p><b>  附件</b></p><p><b>  程序源代碼清單:</b></p><p>  #include<iostream></p><p> 

18、 #include<string></p><p>  #include<fstream></p><p>  #include<iomanip></p><p>  using namespace std;</p><p>  class student</p><p><b

19、>  {</b></p><p><b>  private:</b></p><p>  string number;</p><p>  string name;</p><p>  double chinese;</p><p>  double English;</

20、p><p>  double math;</p><p>  double sum;</p><p>  double ave;</p><p>  char grade;</p><p>  student *head;</p><p>  student *curnode;</p>

21、<p>  student *next;</p><p><b>  public:</b></p><p>  student();//不帶參數(shù)的構(gòu)造函數(shù)</p><p>  student(string ,string ,double ,double ,double ,double =0.0,double =0.0,char =

22、NULL);//帶數(shù)據(jù)域參數(shù)的構(gòu)造函數(shù),用來動態(tài)建立節(jié)點</p><p>  void sum_score();//總分函數(shù)</p><p>  void ave_score();//平均分函數(shù)</p><p>  void grade_score();//成績等級</p><p>  void cin_app();//修改用</p&

23、gt;<p>  void app_score(string ,string ,double ,double ,double);//動態(tài)的建立節(jié)點</p><p>  void del_score();//刪除全部節(jié)點</p><p>  void displist();//輸出節(jié)點中的全部數(shù)據(jù)</p><p>  void lookup(int

24、 ,string );//查找函數(shù)</p><p>  void del_score(int ,string );//刪除函數(shù)</p><p>  void compositor(int ,int );//排序函數(shù)</p><p>  void rework(int ,string );//修改函數(shù)</p><p><b>

25、  };</b></p><p>  /////////////////////////////////////////////////////////////////////////////////////////</p><p>  ///////////////////////////////////////////////////////////////////////

26、//////////////////student類的實現(xiàn)</p><p>  void err_char();//輸入錯誤字符檢測函數(shù)</p><p>  void score_err();//成績范圍檢測函數(shù),當(dāng)輸入成績不在0到100之間時提示重新輸入</p><p>  student::student():next(NULL)//不帶參數(shù)的構(gòu)造函數(shù)</

27、p><p><b>  {</b></p><p>  head=curnode=this;</p><p><b>  }</b></p><p>  //帶參數(shù)的構(gòu)造函數(shù)</p><p>  student::student(string Number,string Name

28、,double Chinese,double ENglish,double Math,double Sum,double Ave,char Grade):next(NULL)</p><p><b>  {</b></p><p>  number=Number;</p><p>  name=Name;</p><p>

29、;  chinese=Chinese;</p><p>  English=ENglish;</p><p>  math=Math;</p><p><b>  sum=Sum;</b></p><p><b>  ave=Ave;</b></p><p>  grade=

30、Grade;</p><p><b>  }</b></p><p>  void student::sum_score()///////////////////////計算總成績</p><p>  {sum=chinese+English+math;}</p><p>  void student::ave_scor

31、e()/////////////////////計算平均成績</p><p>  {ave=(chinese+English+math)/3.0;}</p><p>  void student::grade_score()///////////////////計算成績等級</p><p><b>  {</b></p><

32、p><b>  int i;</b></p><p><b>  i=ave;</b></p><p>  switch(i/10)</p><p><b>  {</b></p><p>  case 10: grade='A'; break;</

33、p><p>  case 9: grade='A'; break;</p><p>  case 8: grade='B'; break;</p><p>  case 7: grade='C'; break;</p><p>  case 6: grade='D'; break;&

34、lt;/p><p>  default: grade='E';</p><p><b>  }</b></p><p><b>  }</b></p><p>  void student::app_score(string Number,string Name,double Chine

35、se,double ENglish,double Math)//動態(tài)建立節(jié)點</p><p><b>  {</b></p><p>  curnode->next=new student(Number,Name,Chinese,ENglish,Math);</p><p>  curnode=curnode->next;</

36、p><p><b>  }</b></p><p>  void student::del_score()//////////////////////刪除表中的全部數(shù)據(jù)</p><p><b>  {</b></p><p>  student *p;</p><p>  cur

37、node=head->next;</p><p>  while(curnode!=NULL)</p><p><b>  {</b></p><p>  p=curnode->next;</p><p>  delete curnode;</p><p>  curnode=p;&l

38、t;/p><p><b>  }</b></p><p>  head->next=NULL;</p><p>  curnode=head;</p><p>  cout<<"┏━━━━━━━━━━━━━━━━━━━┓"<<endl;</p><p>

39、;  cout<<"┃ !表中內(nèi)容全部清空,現(xiàn)已是一個空表! ┃"<<endl;</p><p>  cout<<"┗━━━━━━━━━━━━━━━━━━━┛"<<endl;</p><p>  cout<<" ";system("pause");

40、</p><p><b>  }</b></p><p>  void student::displist()////////////////////////輸出表中的全部數(shù)據(jù)</p><p><b>  {</b></p><p>  if(head->next==NULL)</p&g

41、t;<p><b>  {</b></p><p>  cout<<"┏━━━━━━━━━┓"<<endl;</p><p>  cout<<"┃ !這是一個空表! ┃"<<endl;</p><p>  cout<<"

42、;┗━━━━━━━━━┛"<<endl;</p><p>  cout<<" ";system("pause");</p><p><b>  return;</b></p><p><b>  }</b></p><p> 

43、 student *pw=curnode;</p><p>  curnode=head->next;</p><p>  cout<<"┏━━━━━┳━━━━━┳━━━┳━━━┳━━━┳━━━━┳━━━━┳━━┓"<<endl;</p><p>  cout<<"┃ 學(xué)號 ┃ 姓名

44、 ┃ 語文 ┃ 英語 ┃ 數(shù)學(xué) ┃ 總分 ┃ 平均分 ┃等級┃"<<endl;</p><p>  cout<<"┣━━━━━╋━━━━━╋━━━╋━━━╋━━━╋━━━━╋━━━━╋━━┫"<<endl;</p><p>  while(curnode!=NULL)</p><p><

45、b>  {</b></p><p>  cout<<"┃"<<left<<setw(10)<<curnode->number;</p><p>  cout<<"┃"<<left<<setw(10)<<curnode->nam

46、e;</p><p>  cout<<"┃"<<left<<setw(6)<<curnode->chinese;</p><p>  cout<<"┃"<<left<<setw(6)<<curnode->English;</p>

47、<p>  cout<<"┃"<<left<<setw(6)<<curnode->math;</p><p>  curnode->sum_score();</p><p>  cout<<"┃"<<left<<setw(8)<<cu

48、rnode->sum;</p><p>  curnode->ave_score();</p><p>  cout<<"┃"<<left<<setw(8)<<curnode->ave;</p><p>  curnode->grade_score();</p>

49、<p>  cout<<"┃"<<left<<setw(4)<<curnode->grade<<"┃"<<endl;</p><p>  if(curnode->next!=NULL)</p><p>  cout<<"┣━━━━━╋

50、━━━━━╋━━━╋━━━╋━━━╋━━━━╋━━━━╋━━┫"<<endl;</p><p><b>  else</b></p><p>  cout<<"┗━━━━━┻━━━━━┻━━━┻━━━┻━━━┻━━━━┻━━━━┻━━┛"<<endl;</p><p>  cur

51、node=curnode->next;</p><p><b>  }</b></p><p>  curnode=pw;</p><p>  cout<<"┏━━━━━━━━━┓"<<endl;</p><p>  cout<<"┃!表中內(nèi)容輸出完

52、畢!┃"<<endl;</p><p>  cout<<"┗━━━━━━━━━┛"<<endl;</p><p>  cout<<" ";system("pause");</p><p><b>  }</b></p>

53、;<p>  ////////////////////////////////////////輸入數(shù)據(jù)</p><p>  void student::cin_app()</p><p><b>  {</b></p><p>  student *p=curnode;</p><p><b> 

54、 bool b=0;</b></p><p>  string Number;</p><p>  string Name;</p><p>  double Chinese;</p><p>  double ENglish;</p><p>  double Math;</p><p

55、><b>  while(1)</b></p><p><b>  {</b></p><p>  cout<<" 學(xué) 號:";</p><p>  cin>>Number;</p><p>  curnode=head->next;<

56、/p><p>  while(curnode!=NULL)</p><p><b>  {</b></p><p>  b=(Number==curnode->number);</p><p>  curnode=curnode->next;</p><p><b>  }<

57、;/b></p><p><b>  if(!b)</b></p><p><b>  break;</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cout&

58、lt;<"┏━━━━━━━━━━━━━━┓"<<endl;</p><p>  cout<<"┃出現(xiàn)了相同的學(xué)號,請重新輸入┃"<<endl;</p><p>  cout<<"┗━━━━━━━━━━━━━━┛"<<endl;</p><p>

59、;<b>  }</b></p><p><b>  }</b></p><p>  curnode=p;</p><p>  cout<<" 姓 名:";</p><p>  cin>>Name;</p><p><b&g

60、t;  while(1)</b></p><p><b>  {</b></p><p>  cout<<" 語 文:";</p><p>  cin>>Chinese;</p><p>  while(cin.fail())</p><p&g

61、t;<b>  {</b></p><p>  err_char();</p><p>  cout<<" 語 文:";</p><p>  cin>>Chinese;</p><p><b>  }</b></p><p>  

62、if(Chinese>=0&&Chinese<=100)</p><p><b>  break;</b></p><p><b>  else</b></p><p>  score_err();</p><p><b>  }</b></p

63、><p><b>  while(1)</b></p><p><b>  {</b></p><p>  cout<<" 英 語:";</p><p>  cin>>ENglish;</p><p>  while(cin.fail

64、())</p><p><b>  {</b></p><p>  err_char();</p><p>  cout<<" 英 語:";</p><p>  cin>>ENglish;</p><p><b>  }</b>&

65、lt;/p><p>  if(ENglish>=0&&ENglish<=100)</p><p><b>  break;</b></p><p><b>  else</b></p><p>  score_err();</p><p><b&

66、gt;  }</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  cout<<" 數(shù) 學(xué):";</p><p>  cin>>Math;</p><p&

67、gt;  while(cin.fail())</p><p><b>  {</b></p><p>  err_char();</p><p>  cout<<" 數(shù) 學(xué):";</p><p>  cin>>Math;</p><p><b&g

68、t;  }</b></p><p>  if(Math>=0&&Math<=100)</p><p><b>  break;</b></p><p><b>  else</b></p><p>  score_err();</p><p

69、><b>  }</b></p><p>  this->app_score(Number,Name,Chinese,ENglish,Math);</p><p>  cout<<"┏━━━━━━━━┓"<<endl;</p><p>  cout<<"┃!已添加一條

70、記錄!┃"<<endl;</p><p>  cout<<"┗━━━━━━━━┛"<<endl;</p><p>  cout<<" ";system("pause");</p><p><b>  }</b></p>

71、;<p>  //////////////////////////////////////////查找函數(shù)的實現(xiàn)</p><p>  void student::lookup(int n,string str)</p><p><b>  {</b></p><p>  student *p=curnode;</p>

72、<p><b>  bool b;</b></p><p>  //定義i=1,當(dāng)找到數(shù)據(jù)時把i置為0.用于輸出沒有找到數(shù)據(jù)</p><p><b>  int i=1;</b></p><p>  if(!(curnode=head->next))</p><p><b&g

73、t;  {</b></p><p>  cout<<"┏━━━━━━━┓"<<endl;</p><p>  cout<<"┃!這是一個空表!┃"<<endl;</p><p>  cout<<"┗━━━━━━━┛"<<en

74、dl;</p><p>  curnode=p;</p><p>  cout<<" ";system("pause");</p><p><b>  return;</b></p><p><b>  }</b></p><p

75、>  cout<<"┏━━━━━┳━━━━━┳━━━┳━━━┳━━━┳━━━━┳━━━━┳━━┓"<<endl;</p><p>  cout<<"┃ 學(xué)號 ┃ 姓名 ┃ 語文 ┃ 英語 ┃ 數(shù)學(xué) ┃ 總分 ┃ 平均分 ┃等級┃"<<endl;</p><p>  cout&l

76、t;<"┣━━━━━╋━━━━━╋━━━╋━━━╋━━━╋━━━━╋━━━━╋━━┫"<<endl;</p><p>  while(curnode!=NULL)</p><p><b>  {</b></p><p><b>  switch(n)</b></p>&l

77、t;p><b>  {</b></p><p>  case 1: b=curnode->number==str;break;</p><p>  case 2: b=curnode->name==str;break;</p><p>  default: return;</p><p><b&g

78、t;  }</b></p><p><b>  if(b)</b></p><p><b>  {</b></p><p><b>  i=0;</b></p><p>  cout<<"┃"<<left<<s

79、etw(10)<<curnode->number;</p><p>  cout<<"┃"<<left<<setw(10)<<curnode->name;</p><p>  cout<<"┃"<<left<<setw(6)<<cu

80、rnode->chinese;</p><p>  cout<<"┃"<<left<<setw(6)<<curnode->English;</p><p>  cout<<"┃"<<left<<setw(6)<<curnode->math

81、;</p><p>  curnode->sum_score();</p><p>  cout<<"┃"<<left<<setw(8)<<curnode->sum;</p><p>  curnode->ave_score();</p><p>  cou

82、t<<"┃"<<left<<setw(8)<<curnode->ave;</p><p>  curnode->grade_score();</p><p>  cout<<"┃"<<left<<setw(4)<<curnode->gra

83、de<<"┃"<<endl;</p><p>  cout<<"┣━━━━━╋━━━━━╋━━━╋━━━╋━━━╋━━━━╋━━━━╋━━┫"<<endl;</p><p><b>  }</b></p><p>  curnode=curnode->

84、next;</p><p><b>  }</b></p><p>  //當(dāng)i=1是代表沒有找到數(shù)據(jù)</p><p><b>  if(i)</b></p><p><b>  {</b></p><p>  cout<<"┣━━

85、━━━┻━━━━━┻━━━┻━━━┻━━━┻━━━━┻━━━━┻━━┫"<<endl;</p><p>  cout<<"┃沒有匹配的數(shù)據(jù) ┃"<<endl;</p><p>  cout<<&quo

86、t;┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛"<<endl;</p><p><b>  }</b></p><p><b>  else</b></p><p>  cout<<"┗━━━━━┻━━━━━┻━━━┻━━━┻━━━┻━━━━┻━

87、━━━┻━━┛"<<endl;</p><p>  curnode=p;</p><p>  cout<<" 以上是本次查找的結(jié)果!"<<endl;</p><p>  cout<<" ";system("pause");</p>&l

88、t;p><b>  }</b></p><p>  //////////////////////////////////////////刪除函數(shù)的實現(xiàn)</p><p>  void student::del_score(int n,string str)</p><p><b>  {</b></p>

89、<p>  student *p=curnode,*pw=head;</p><p><b>  bool b;</b></p><p>  //定義i=1,當(dāng)找到數(shù)據(jù)時把i置為0.用于輸出沒有找到數(shù)據(jù)</p><p><b>  int i=1;</b></p><p>  if(!(c

90、urnode=head->next))</p><p><b>  {</b></p><p>  cout<<"┏━━━━━━━┓"<<endl;</p><p>  cout<<"┃!這是一個空表!┃"<<endl;</p><

91、p>  cout<<"┗━━━━━━━┛"<<endl;</p><p>  curnode=p;</p><p>  cout<<" ";system("pause");</p><p><b>  return;</b></p>

92、<p><b>  }</b></p><p>  while(curnode!=NULL)</p><p><b>  {</b></p><p><b>  switch(n)</b></p><p><b>  {</b></p&

93、gt;<p>  case 1: b=curnode->number==str;break;</p><p>  case 2: b=curnode->name==str;break;</p><p>  default: return;</p><p><b>  }</b></p><p>

94、<b>  if(b)</b></p><p><b>  {</b></p><p><b>  i=0;</b></p><p>  pw->next=curnode->next;</p><p>  delete curnode;</p><

95、;p>  curnode=pw->next;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  pw=curnode;</p><p>  cur

96、node=curnode->next;</p><p><b>  }</b></p><p><b>  }</b></p><p>  //當(dāng)i=1是代表沒有找到數(shù)據(jù)</p><p><b>  if(i)</b></p><p><b&

97、gt;  {</b></p><p>  cout<<"┏━━━━━━━┓"<<endl;</p><p>  cout<<"┃沒有匹配的數(shù)據(jù)┃"<<endl;</p><p>  cout<<"┗━━━━━━━┛"<<en

98、dl;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"┏━━━━━━━┓"<<endl;</p><

99、p>  cout<<"┃ 數(shù)據(jù)刪除成功 ┃"<<endl;</p><p>  cout<<"┗━━━━━━━┛"<<endl;</p><p><b>  }</b></p><p>  curnode=head;</p><p&

100、gt;  while(curnode->next)</p><p><b>  {</b></p><p>  curnode=curnode->next;</p><p><b>  }</b></p><p>  cout<<" ";system(&q

101、uot;pause");</p><p><b>  }</b></p><p>  //////////////////////////////////////排序函數(shù)的實現(xiàn)</p><p>  void student::compositor(int n,int m)</p><p><b>  

102、{</b></p><p>  if(head->next==NULL)</p><p><b>  {</b></p><p>  cout<<"┏━━━━━━━━━━━┓"<<endl;</p><p>  cout<<"┃!這是一個

103、空表不能排序!┃"<<endl;</p><p>  cout<<"┗━━━━━━━━━━━┛"<<endl;</p><p>  cout<<" ";system("pause");</p><p><b>  return;</b

104、></p><p><b>  }</b></p><p>  if(head->next->next==NULL)</p><p><b>  {</b></p><p>  cout<<"┏━━━━━━━━━━━┓"<<endl;&l

105、t;/p><p>  cout<<"┃!只有一條記錄不用排序!┃"<<endl;</p><p>  cout<<"┗━━━━━━━━━━━┛"<<endl;</p><p>  cout<<" ";system("pause");

106、</p><p><b>  return;</b></p><p><b>  }</b></p><p>  student *s,*p,*q,*r;</p><p><b>  r=head; </b></p><p>  s=head->n

107、ext; </p><p><b>  q=s; </b></p><p>  p=q->next; </p><p>  while(s!=NULL) </p><p><b>  { </b></p><p>  while(p!=NULL) </p>

108、<p><b>  {</b></p><p><b>  switch(n)</b></p><p><b>  {</b></p><p><b>  case 1:</b></p><p><b>  {</b>&l

109、t;/p><p><b>  if(m==1)</b></p><p><b>  {</b></p><p>  while(s->number<p->number)</p><p><b>  { </b></p><p>  q-&g

110、t;next=p->next; </p><p>  r->next=p; </p><p>  p->next=s; </p><p><b>  s=p; </b></p><p>  p=q->next; </p><p>  if(p==NULL)</p>

111、;<p><b>  break; </b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></

112、p><p>  while(s->number>p->number)</p><p><b>  { </b></p><p>  q->next=p->next; </p><p>  r->next=p; </p><p>  p->next=s; <

113、;/p><p><b>  s=p; </b></p><p>  p=q->next; </p><p>  if(p==NULL)</p><p><b>  break; </b></p><p><b>  }</b></p>&

114、lt;p><b>  }</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 2:</b></p><p><b>  {</b></p&

115、gt;<p><b>  if(m==1)</b></p><p><b>  {</b></p><p>  while(s->sum<p->sum)</p><p><b>  { </b></p><p>  q->next=p-&g

116、t;next; </p><p>  r->next=p; </p><p>  p->next=s; </p><p><b>  s=p; </b></p><p>  p=q->next; </p><p>  if(p==NULL)</p><p>

117、;<b>  break; </b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><

118、p>  while(s->sum>p->sum)</p><p><b>  { </b></p><p>  q->next=p->next; </p><p>  r->next=p; </p><p>  p->next=s; </p><p>

119、;<b>  s=p; </b></p><p>  p=q->next; </p><p>  if(p==NULL)</p><p><b>  break; </b></p><p><b>  }</b></p><p><b>

120、  }</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 3:</b></p><p><b>  {</b></p><p><

121、;b>  if(m==1)</b></p><p><b>  {</b></p><p>  while(s->ave<p->ave)</p><p><b>  { </b></p><p>  q->next=p->next; </p>

122、;<p>  r->next=p; </p><p>  p->next=s; </p><p><b>  s=p; </b></p><p>  p=q->next; </p><p>  if(p==NULL)</p><p><b>  break

123、; </b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  while(s-&g

124、t;ave>p->ave)</p><p><b>  { </b></p><p>  q->next=p->next; </p><p>  r->next=p; </p><p>  p->next=s; </p><p><b>  s=p;

125、</b></p><p>  p=q->next; </p><p>  if(p==NULL)</p><p><b>  break; </b></p><p><b>  }</b></p><p><b>  }</b><

126、/p><p><b>  break;</b></p><p><b>  }</b></p><p>  default: return;</p><p><b>  } </b></p><p>  if(p==NULL) </p>&l

127、t;p><b>  {</b></p><p><b>  break;</b></p><p><b>  } </b></p><p><b>  q=p; </b></p><p>  p=p->next; </p><

128、;p><b>  } </b></p><p><b>  r=s; </b></p><p>  s=s->next; </p><p><b>  q=s; </b></p><p>  p=q->next; </p><p>  

129、if(p==NULL) </p><p><b>  {</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  cout<

130、<"┏━━━━━━━━━━━━━━━━━━┓"<<endl;</p><p>  cout<<"┃!成功完成排序操作,即將輸出排序結(jié)果!┃"<<endl;</p><p>  cout<<"┗━━━━━━━━━━━━━━━━━━┛"<<endl;</p>

131、<p>  cout<<" ";system("pause");</p><p>  displist();</p><p><b>  }</b></p><p>  ////////////////////////////////////////修改函數(shù)的實現(xiàn)</p&g

132、t;<p>  void student::rework(int n,string str)</p><p><b>  {</b></p><p>  student *p=curnode;</p><p><b>  bool b;</b></p><p><b>  i

133、nt i=1;</b></p><p>  if(!(curnode=head->next))</p><p><b>  {</b></p><p>  cout<<"┏━━━━━━━━━━━━━━━━┓"<<endl;</p><p>  cout<

134、<"┃!這是一個空表沒有需要修改的數(shù)據(jù)!┃"<<endl;</p><p>  cout<<"┗━━━━━━━━━━━━━━━━┛"<<endl;</p><p>  curnode=p;</p><p>  cout<<" ";system("

135、;pause");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  while(curnode!=NULL)</p><p><b>  {</b></p><p><b&g

136、t;  switch(n)</b></p><p><b>  {</b></p><p>  case 1: b=curnode->number==str;break;</p><p>  case 2: b=curnode->name==str;break;</p><p>  default

137、: return;</p><p><b>  }</b></p><p><b>  if(b)</b></p><p><b>  {</b></p><p><b>  i=0;</b></p><p>  string Nu

138、mber;</p><p>  string Name;</p><p>  double Chinese;</p><p>  double ENglish;</p><p>  double Math;</p><p>  cout<<"┏━━━━━━━━━━━━━━━━┓"<

139、<endl;</p><p>  cout<<"┃!請在原數(shù)據(jù)后面輸入要修改的數(shù)據(jù)!┃"<<endl;</p><p>  cout<<"┗━━━━━━━━━━━━━━━━┛"<<endl;</p><p>  cout<<" 學(xué) 號:"&

140、lt;<curnode->number<<" ";</p><p>  cin>>Number;</p><p>  curnode->number=Number;</p><p>  cout<<" 姓 名:"<<curnode->name<&

141、lt;" ";</p><p>  cin>>Name;</p><p>  curnode->name=Name;</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  co

142、ut<<" 語 文:"<<curnode->chinese<<" ";</p><p>  cin>>Chinese;</p><p>  while(cin.fail())</p><p><b>  {</b></p><p

143、>  err_char();</p><p>  cout<<" 語 文:"<<curnode->chinese<<" ";</p><p>  cin>>Chinese;</p><p><b>  }</b></p><

144、;p>  if(Chinese>=0&&Chinese<=100)</p><p><b>  break;</b></p><p><b>  else</b></p><p>  score_err();</p><p><b>  }</b&g

145、t;</p><p>  curnode->chinese=chinese;</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  cout<<" 英 語:"<<curnode->E

146、nglish<<" ";</p><p>  cin>>ENglish;</p><p>  while(cin.fail())</p><p><b>  {</b></p><p>  err_char();</p><p>  cout<&

147、lt;" 英 語:"<<curnode->English<<" ";</p><p>  cin>>ENglish;</p><p><b>  }</b></p><p>  if(ENglish>=0&&ENglish<=100

148、)</p><p><b>  break;</b></p><p><b>  else</b></p><p>  score_err();</p><p><b>  }</b></p><p>  curnode->English=ENgl

149、ish;</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  cout<<" 數(shù) 學(xué):"<<curnode->math<<" ";</p><p>  

150、cin>>Math;</p><p>  while(cin.fail())</p><p><b>  {</b></p><p>  err_char();</p><p>  cout<<" 數(shù) 學(xué):"<<curnode->math<<&q

151、uot; ";</p><p>  cin>>Math;</p><p><b>  }</b></p><p>  if(Math>=0&&Math<=100)</p><p><b>  break;</b></p><p&

152、gt;<b>  else</b></p><p>  score_err();</p><p><b>  }</b></p><p>  curnode->math=Math;</p><p><b>  }</b></p><p>  cur

153、node=curnode->next;</p><p><b>  }</b></p><p><b>  if(i)</b></p><p><b>  {</b></p><p>  cout<<"┏━━━━━━━━━━━┓"<&

154、lt;endl;</p><p>  cout<<"┃!找不到需要修改的數(shù)據(jù)!┃"<<endl;</p><p>  cout<<"┗━━━━━━━━━━━┛"<<endl;</p><p><b>  }</b></p><p>&

155、lt;b>  else</b></p><p><b>  {</b></p><p>  cout<<"┏━━━━━━━━━┓"<<endl;</p><p>  cout<<"┃!數(shù)據(jù)修改全部完成!┃"<<endl;</p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論