c++課程設(shè)計(jì)完-----學(xué)生管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩33頁(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>  C++課程設(shè)計(jì)報(bào)告</b></p><p><b>  學(xué)生管理系統(tǒng) </b></p><p>  姓 名:阮XX</p><p><b>  學(xué) 號(hào):XX</b></p><p>  專(zhuān) 業(yè):XX計(jì)算機(jī)應(yīng)用

2、 </p><p><b>  班 級(jí):2班</b></p><p>  指導(dǎo)老師:XX </p><p><b>  2011 年 6月</b></p><p><b>  目錄</b></p><p>  課程設(shè)計(jì)

3、目的……………………………………………………</p><p>  項(xiàng)目要求與簡(jiǎn)介…………………………………………………</p><p>  系統(tǒng)分析…………………………………………………………</p><p>  3.1系統(tǒng)模塊圖…………………………………………………</p><p>  3.2 系統(tǒng)采用的關(guān)鍵(難點(diǎn))技術(shù)…………………………

4、….</p><p>  3.3 主要類(lèi)說(shuō)明………………………………………………….</p><p>  測(cè)試運(yùn)行的結(jié)果………………………………………………….</p><p>  心得體會(huì)………………………………….………………………</p><p>  程序代碼清單………………………………….…………………</p><

5、p>  參考書(shū)目…………………………………………………………</p><p><b>  1.課程設(shè)計(jì)目的</b></p><p>  方便學(xué)校及班級(jí)管理。提高成績(jī)上傳速度,減少人力物力。</p><p><b>  2.項(xiàng)目要求與簡(jiǎn)介</b></p><p>  學(xué)生信息管理,針對(duì)于學(xué)生的信

6、息簡(jiǎn)單整理與修改。</p><p><b>  功能簡(jiǎn)介:</b></p><p>  1、錄入成績(jī)(在主頁(yè)面中直接輸入數(shù)字1):</p><p>  添加學(xué)生的基本信息,包括學(xué)號(hào)、姓名、計(jì)算機(jī)成績(jī),英語(yǔ)成績(jī)以及數(shù)學(xué)成績(jī)等;</p><p>  2、修改功能(在主頁(yè)面中直接輸入數(shù)字3):</p><p

7、><b>  對(duì)信息進(jìn)行修改;</b></p><p><b>  3、查找功能.:</b></p><p>  包括查找記錄(在主頁(yè)面中直接輸入數(shù)字6)和查看全部記錄(在主頁(yè)面中直接輸入數(shù)字5)。</p><p>  4、記錄排序(在主頁(yè)面中直接輸入數(shù)字4):</p><p>  排序分為學(xué)

8、號(hào)和姓名排序,下又分為升序和降序排序;</p><p><b>  刪除功能:</b></p><p>  通過(guò)輸入學(xué)號(hào)或姓名,刪除學(xué)生信息;包括刪除記錄(主頁(yè)面中直接輸入數(shù)字2)和刪除全部(在主頁(yè)面中直接輸入數(shù)字7);</p><p><b>  清屏功能</b></p><p>  在主頁(yè)面中,

9、直接輸入數(shù)字8.</p><p><b>  3.系統(tǒng)分析</b></p><p><b>  3.1系統(tǒng)模塊圖</b></p><p>  3.2 系統(tǒng)采用的關(guān)鍵(難點(diǎn))技術(shù)</p><p>  使用成員函數(shù)、構(gòu)造函數(shù)來(lái)實(shí)現(xiàn)信息的搭建。使用鏈表存儲(chǔ)。大量使用switch和if else語(yǔ)句來(lái)實(shí)現(xiàn)整

10、個(gè)過(guò)程。</p><p><b>  3.3 主要類(lèi)說(shuō)明</b></p><p><b>  Student類(lèi):</b></p><p>  1.定義了學(xué)生的基本信息。</p><p>  學(xué)號(hào):string number; 姓名string name; 計(jì)算機(jī)成績(jī)double comput

11、er; 英語(yǔ)成績(jī)double English; 數(shù)學(xué)成績(jī)double math; 總分double sum; 平均分double ave; 成績(jī)等級(jí)char grade;定義頭結(jié)點(diǎn)student *head; 定義第一個(gè)結(jié)點(diǎn)student *curnode; 定義下一個(gè)結(jié)點(diǎn)存儲(chǔ)地址空間student *next;</p><p><b>  2.定義構(gòu)造函數(shù):<

12、/b></p><p>  student();//不帶參數(shù)的構(gòu)造函數(shù)</p><p>  student(string ,string ,double ,double ,double ,double =0.0,double =0.0,char =NULL);//帶數(shù)據(jù)域參數(shù)的構(gòu)造函數(shù),用來(lái)動(dòng)態(tài)建立節(jié)點(diǎn)</p><p><b>  定義成員函數(shù)<

13、;/b></p><p>  void sum_score();//總分函數(shù)</p><p>  void ave_score();//平均分函數(shù)</p><p>  void grade_score();//成績(jī)等級(jí)</p><p>  void cin_app();//修改用</p><p>  void a

14、pp_score(string ,string ,double ,double ,double);//動(dòng)態(tài)的建立節(jié)點(diǎn)</p><p>  void del_score();//刪除全部節(jié)點(diǎn)</p><p>  void displist();//輸出節(jié)點(diǎn)中的全部數(shù)據(jù)</p><p>  void lookup(int ,string );//查找函數(shù)<

15、/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>  4.測(cè)試運(yùn)行的結(jié)果</b>&

16、lt;/p><p><b>  1.主頁(yè)面:</b></p><p><b>  錄入成績(jī)</b></p><p><b>  修改記錄</b></p><p><b>  查找記錄</b></p><p><b>  查看記

17、錄</b></p><p><b>  記錄排序</b></p><p><b>  刪除記錄</b></p><p><b>  刪除全部</b></p><p><b>  5.心得體會(huì)</b></p><p>  

18、通過(guò)C++程序設(shè)計(jì),改掉了自己曾經(jīng)錯(cuò)誤的觀點(diǎn),曾經(jīng)很盲目的認(rèn)為C++只是把C中的printf與scanf換成了cout 與cin,把.c變成.cpp,其他的都一樣。</p><p>  真正開(kāi)始自己編寫(xiě)代碼的時(shí)候,發(fā)現(xiàn)很多不同的地方,通過(guò)查書(shū),上網(wǎng)查資料,了解了關(guān)于面向?qū)ο蟮奶攸c(diǎn)、函數(shù)重載、構(gòu)造函數(shù)、類(lèi)、類(lèi)的封裝與多態(tài),才發(fā)現(xiàn)C++與C,本質(zhì)是不同的。C++代碼比較容易理解。</p><p&g

19、t;  通過(guò)這次對(duì)于學(xué)生管理系統(tǒng)的設(shè)計(jì),更讓我深刻的理解到學(xué)習(xí)專(zhuān)業(yè)知識(shí)的重要性。</p><p><b>  6.程序代碼清單</b></p><p><b>  成績(jī)等級(jí)</b></p><p>  switch(i/10)</p><p><b>  {</b></p

20、><p>  case 10: grade='A'; break;</p><p>  case 9: grade='A'; break;</p><p>  case 8: grade='B'; break;</p><p>  case 7: grade='C'; break;&

21、lt;/p><p>  case 6: grade='D'; break;</p><p>  default: grade='E';</p><p><b>  }</b></p><p><b>  刪除表中所有數(shù)據(jù)</b></p><p> 

22、 Student *p;</p><p>  curnode=head->next;</p><p>  while(curnode!=NULL)</p><p><b>  {</b></p><p>  p=curnode->next;</p><p>  delete curno

23、de;</p><p>  curnode=p;</p><p><b>  }</b></p><p>  head->next=NULL;</p><p>  curnode=head;</p><p><b>  查找并刪除數(shù)據(jù)</b></p>&l

24、t;p>  while(curnode!=NULL)</p><p><b>  {</b></p><p><b>  switch(n)</b></p><p><b>  {</b></p><p>  case 1: b=curnode->number==s

25、tr;break;</p><p>  case 2: b=curnode->name==str;break;</p><p>  default: return;</p><p><b>  }</b></p><p><b>  if(b)</b></p><p>

26、<b>  {</b></p><p><b>  i=0;</b></p><p>  pw->next=curnode->next;</p><p>  delete curnode;</p><p>  curnode=pw->next;</p><p&g

27、t;<b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  pw=curnode;</p><p>  curnode=curnode->next;</p><p><

28、b>  }</b></p><p><b>  }</b></p><p><b>  排序?qū)崿F(xiàn)</b></p><p><b>  r=head; </b></p><p>  s=head->next; </p><p>&l

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

30、></p><p><b>  switch(n)</b></p><p><b>  {</b></p><p><b>  case 1:</b></p><p><b>  {</b></p><p><b>

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

32、;<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

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

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

35、 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>  }</b&g

36、t;</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 2:</b></p><p><b>  {</b></p><p><b>  if(

37、m==1)</b></p><p><b>  {</b></p><p>  while(s->sum<p->sum)</p><p><b>  { </b></p><p>  q->next=p->next; </p><p>

38、;  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; </b>

39、;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  while(s->sum>p-

40、>sum)</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; </b>&

41、lt;/p><p>  p=q->next; </p><p>  if(p==NULL)</p><p><b>  break; </b></p><p><b>  }</b></p><p><b>  }break;}</b></p&g

42、t;<p><b>  case 3:</b></p><p><b>  {if(m==1)</b></p><p>  {while(s->ave<p->ave)</p><p>  { q->next=p->next; </p><p>  r-&g

43、t;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; </b></p

44、><p><b>  }}</b></p><p><b>  else</b></p><p>  {while(s->ave>p->ave)</p><p>  { q->next=p->next; </p><p>  r->next=p

45、; </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; </b></p>&l

46、t;p><b>  }</b></p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  }</b></p><p>  default: return;</p><p&

47、gt;<b>  } </b></p><p>  if(p==NULL) </p><p><b>  {</b></p><p><b>  break;</b></p><p><b>  } </b></p><p>&l

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

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

50、t;</p><p><b>  Main函數(shù)實(shí)現(xiàn)</b></p><p>  void main()</p><p><b>  {</b></p><p>  system("color 0a"); </p><p>  system("mo

51、de con: cols=100 lines=30");</p><p>  system("title 學(xué)生管理系統(tǒng)——轉(zhuǎn)基因工作站");</p><p>  student a;</p><p>  welcome();//歡迎界面</p><p>  system("pause");&l

52、t;/p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  int i;</b></p><p>  //system("cls");//清屏功能</p><p>&l

53、t;b>  menu();</b></p><p><b>  cin>>i;</b></p><p>  if(cin.fail())//輸入非法字符時(shí)退出</p><p>  err_char();</p><p>  switch (i)</p><p>&

54、lt;b>  {</b></p><p>  case 0: fun_exit();break;</p><p>  case 1: a.cin_app();break;//增加記錄</p><p>  case 2: fun_del(a);break;//刪除記錄</p><p>  case 3: fun_r

55、ework(a);break;//修改記錄</p><p>  case 4: fun_compositor(a);break;//記錄排序</p><p>  case 5: a.displist();break;//查看記錄</p><p>  case 6: fun_lookup(a);break;//查找記錄</p>

56、<p>  case 7: a.del_score();break;//清空鏈表</p><p>  case 8: system("cls");</p><p>  default: break;//其它鍵退出</p><p><b>  }</b></p><p><b

57、>  }</b></p><p><b>  }</b></p><p><b>  7.參考書(shū)目</b></p><p>  《c++面向?qū)ο髮?shí)用對(duì)象》電子工業(yè)出版社作者:鄭阿奇</p><p><b>  附代碼:</b></p><

58、;p>  #include<iostream></p><p>  #include<string></p><p>  #include<fstream></p><p>  #include<iomanip></p><p>  #include<windows.h><

59、;/p><p>  #include<time.h></p><p>  #include <stdio.h></p><p>  using namespace std;</p><p>  class student</p><p><b>  {</b></p>

60、;<p><b>  private:</b></p><p>  string number;</p><p>  string name;</p><p>  double computer;</p><p>  double English;</p><p>  double

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

62、;</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 =NULL);//帶數(shù)據(jù)域參數(shù)的構(gòu)造函數(shù),用來(lái)動(dòng)態(tài)建

63、立節(jié)點(diǎn)</p><p>  void sum_score();//總分函數(shù)</p><p>  void ave_score();//平均分函數(shù)</p><p>  void grade_score();//成績(jī)等級(jí)</p><p>  void cin_app();//修改用</p><p>  void app_s

64、core(string ,string ,double ,double ,double);//動(dòng)態(tài)的建立節(jié)點(diǎn)</p><p>  void del_score();//刪除全部節(jié)點(diǎn)</p><p>  void displist();//輸出節(jié)點(diǎn)中的全部數(shù)據(jù)</p><p>  void lookup(int ,string );//查找函數(shù)</p&g

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

66、<p>  /////////////////////////////////////////////</p><p>  /////////////////////////////////////////////student類(lèi)的實(shí)現(xiàn)</p><p>  void err_char();//輸入錯(cuò)誤字符檢測(cè)函數(shù)</p><p>  void score_

67、err();//成績(jī)范圍檢測(cè)函數(shù),當(dāng)輸入成績(jī)不在0到100之間時(shí)提示重新輸入</p><p>  student::student():next(NULL)//不帶參數(shù)的構(gòu)造函數(shù)</p><p><b>  {</b></p><p>  head=curnode=this;</p><p><b>  }&l

68、t;/b></p><p>  //帶參數(shù)的構(gòu)造函數(shù)</p><p>  student::student(string Number,string Name,double Computer,double ENglish,double Math,double Sum,double Ave,char Grade):next(NULL)</p><p><b

69、>  {</b></p><p>  number=Number;</p><p>  name=Name;</p><p>  computer=Computer;</p><p>  English=ENglish;</p><p>  math=Math;</p><p>

70、;<b>  sum=Sum;</b></p><p><b>  ave=Ave;</b></p><p>  grade=Grade;</p><p><b>  }</b></p><p>  void student::sum_score()//////////////

71、/////////計(jì)算總成績(jī)</p><p>  {sum=computer+English+math;}</p><p>  void student::ave_score()/////////////////////計(jì)算平均成績(jī)</p><p>  {ave=(computer+English+math)/3.0;}</p><p>  

72、void student::grade_score()///////////////////計(jì)算成績(jī)等級(jí)</p><p><b>  {</b></p><p><b>  int i;</b></p><p><b>  i=ave;</b></p><p>  switch

73、(i/10)</p><p><b>  {</b></p><p>  case 10: grade='A'; break;</p><p>  case 9: grade='A'; break;</p><p>  case 8: grade='B'; break;&l

74、t;/p><p>  case 7: grade='C'; break;</p><p>  case 6: grade='D'; break;</p><p>  default: grade='E';</p><p><b>  }</b></p><p

75、><b>  }</b></p><p>  void student::app_score(string Number,string Name,double Computer,double ENglish,double Math)//動(dòng)態(tài)建立節(jié)點(diǎn)</p><p><b>  {</b></p><p>  curn

76、ode->next=new student(Number,Name,Computer,ENglish,Math);</p><p>  curnode=curnode->next;</p><p><b>  }</b></p><p>  void student::del_score()/////////////////////

77、/刪除表中的全部數(shù)據(jù)</p><p><b>  {</b></p><p>  student *p;</p><p>  curnode=head->next;</p><p>  while(curnode!=NULL)</p><p><b>  {</b>&l

78、t;/p><p>  p=curnode->next;</p><p>  delete curnode;</p><p>  curnode=p;</p><p><b>  }</b></p><p>  head->next=NULL;</p><p>  c

79、urnode=head;</p><p>  cout<<"┏━━━━━━━━━━━━━━━━━━━┓"<<endl;</p><p>  cout<<"┃ !表中內(nèi)容全部清空,現(xiàn)已是一個(gè)空表! ┃"<<endl;</p><p>  cout<<&quo

80、t;┗━━━━━━━━━━━━━━━━━━━┛"<<endl;</p><p>  cout<<" ";system("pause");</p><p><b>  }</b></p><p>  void student::displist()///////////

81、/////////////輸出表中的全部數(shù)據(jù)</p><p><b>  {</b></p><p>  if(head->next==NULL)</p><p><b>  {</b></p><p>  cout<<"┏━━━━━━━━━┓"<&l

82、t;endl;</p><p>  cout<<"┃ !這是一個(gè)空表! ┃"<<endl;</p><p>  cout<<"┗━━━━━━━━━┛"<<endl;</p><p>  cout<<" ";system("p

83、ause");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  student *pw=curnode;</p><p>  curnode=head->next;</p><p>  cout&

84、lt;<"┏━━━━━┳━━━━━┳━━━┳━━━┳━━━┳━━━━┳━━━━┳━━┓"<<endl;</p><p>  cout<<"┃ 學(xué)號(hào) ┃ 姓名 ┃計(jì)算機(jī)┃ 英語(yǔ) ┃ 數(shù)學(xué) ┃ 總分 ┃ 平均分 ┃等級(jí)┃"<<endl;</p><p>  cout<<&q

85、uot;┣━━━━━╋━━━━━╋━━━╋━━━╋━━━╋━━━━╋━━━━╋━━┫"<<endl;</p><p>  while(curnode!=NULL)</p><p><b>  {</b></p><p>  cout<<"┃"<<left<<s

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

87、rnode->computer;</p><p>  cout<<"┃"<<left<<setw(6)<<curnode->English;</p><p>  cout<<"┃"<<left<<setw(6)<<curnode->mat

88、h;</p><p>  curnode->sum_score();</p><p>  cout<<"┃"<<left<<setw(8)<<curnode->sum;</p><p>  curnode->ave_score();</p><p>  co

89、ut<<"┃"<<left<<setw(8)<<curnode->ave;</p><p>  curnode->grade_score();</p><p>  cout<<"┃"<<left<<setw(4)<<curnode->gr

90、ade<<"┃"<<endl;</p><p>  if(curnode->next!=NULL)</p><p>  cout<<"┣━━━━━╋━━━━━╋━━━╋━━━╋━━━╋━━━━╋━━━━╋━━┫"<<endl;</p><p><b>  el

91、se</b></p><p>  cout<<"┗━━━━━┻━━━━━┻━━━┻━━━┻━━━┻━━━━┻━━━━┻━━┛"<<endl;</p><p>  curnode=curnode->next;</p><p><b>  }</b></p><p

92、>  curnode=pw;</p><p>  cout<<"┏━━━━━━━━━┓"<<endl;</p><p>  cout<<"┃!表中內(nèi)容輸出完畢!┃"<<endl;</p><p>  cout<<"┗━━━━━━━━━┛&q

93、uot;<<endl;</p><p>  cout<<" ";system("pause");</p><p><b>  }</b></p><p>  ////////////////////////////////////////輸入數(shù)據(jù)</p><p&

94、gt;  void student::cin_app()</p><p><b>  {</b></p><p>  student *p=curnode;</p><p><b>  bool b=0;</b></p><p>  string Number;</p><p&g

95、t;  string Name;</p><p>  double Computer;</p><p>  double ENglish;</p><p>  double Math;</p><p><b>  while(1)</b></p><p><b>  {</b>

96、;</p><p>  cout<<"學(xué) 號(hào):";</p><p>  cin>>Number;</p><p>  curnode=head->next;</p><p>  while(curnode!=NULL)</p><p><b>  {&l

97、t;/b></p><p>  b=(Number==curnode->number);</p><p>  curnode=curnode->next;</p><p><b>  }</b></p><p><b>  if(!b)</b></p><p&g

98、t;<b>  break;</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"┏━━━━━━━━━━━━━━┓"<<endl;</p><p>  c

99、out<<"┃出現(xiàn)了相同的學(xué)號(hào),請(qǐng)重新輸入┃"<<endl;</p><p>  cout<<"┗━━━━━━━━━━━━━━┛"<<endl;</p><p><b>  }</b></p><p><b>  }</b>&l

100、t;/p><p>  curnode=p;</p><p>  cout<<"姓 名:";</p><p>  cin>>Name;</p><p><b>  while(1)</b></p><p><b>  {</b>&l

101、t;/p><p>  cout<<"計(jì)算機(jī):";</p><p>  cin>>Computer;</p><p>  while(cin.fail())</p><p><b>  {</b></p><p>  err_char();</p&g

102、t;<p>  cout<<"計(jì)算機(jī):";</p><p>  cin>>Computer;</p><p><b>  }</b></p><p>  if(Computer>=0&&Computer<=100)</p><p>

103、<b>  break;</b></p><p><b>  else</b></p><p>  score_err();</p><p><b>  }</b></p><p><b>  while(1)</b></p><p&g

104、t;<b>  {</b></p><p>  cout<<"英 語(yǔ):";</p><p>  cin>>ENglish;</p><p>  while(cin.fail())</p><p><b>  {</b></p><

105、p>  err_char();</p><p>  cout<<"英 語(yǔ):";</p><p>  cin>>ENglish;</p><p><b>  }</b></p><p>  if(ENglish>=0&&ENglish<=1

106、00)</p><p><b>  break;</b></p><p><b>  else</b></p><p>  score_err();</p><p><b>  }</b></p><p><b>  while(1)</

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

108、b></p><p>  err_char();</p><p>  cout<<"數(shù) 學(xué):";</p><p>  cin>>Math;</p><p><b>  }</b></p><p>  if(Math>=0&&am

109、p;Math<=100)</p><p><b>  break;</b></p><p><b>  else</b></p><p>  score_err();</p><p><b>  }</b></p><p>  this->a

110、pp_score(Number,Name,Computer,ENglish,Math);</p><p>  cout<<"┏━━━━━━━━┓"<<endl;</p><p>  cout<<"┃!已添加一條記錄!┃"<<endl;</p><p>  cout<

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

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

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

114、uot;┏━━━━━━━┓"<<endl;</p><p>  cout<<"┃!這是一個(gè)空表!┃"<<endl;</p><p>  cout<<"┗━━━━━━━┛"<<endl;</p><p>  curnode=p;</p>

115、<p>  cout<<" ";system("pause");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  cout<<"┏━━━━━┳━━━━━┳━━━┳━━━

116、┳━━━┳━━━━┳━━━━┳━━┓"<<endl;</p><p>  cout<<"┃ 學(xué)號(hào) ┃ 姓名 ┃計(jì)算機(jī)┃ 英語(yǔ) ┃ 數(shù)學(xué) ┃ 總分 ┃ 平均分 ┃等級(jí)┃"<<endl;</p><p>  cout<<"┣━━━━━╋━━━━━╋━━━╋━━━╋━━━╋━━━━

117、╋━━━━╋━━┫"<<endl;</p><p>  while(curnode!=NULL)</p><p><b>  {</b></p><p><b>  switch(n)</b></p><p><b>  {</b></p>

118、<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><b

119、>  if(b)</b></p><p><b>  {</b></p><p><b>  i=0;</b></p><p>  cout<<"┃"<<left<<setw(10)<<curnode->number;</

120、p><p>  cout<<"┃"<<left<<setw(10)<<curnode->name;</p><p>  cout<<"┃"<<left<<setw(6)<<curnode->computer;</p><p>

121、;  cout<<"┃"<<left<<setw(6)<<curnode->English;</p><p>  cout<<"┃"<<left<<setw(6)<<curnode->math;</p><p>  curnode->su

122、m_score();</p><p>  cout<<"┃"<<left<<setw(8)<<curnode->sum;</p><p>  curnode->ave_score();</p><p>  cout<<"┃"<<left<

123、<setw(8)<<curnode->ave;</p><p>  curnode->grade_score();</p><p>  cout<<"┃"<<left<<setw(4)<<curnode->grade<<"┃"<<endl;&l

124、t;/p><p>  cout<<"┣━━━━━╋━━━━━╋━━━╋━━━╋━━━╋━━━━╋━━━━╋━━┫"<<endl;</p><p><b>  }</b></p><p>  curnode=curnode->next;</p><p><b> 

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

126、┫"<<endl;</p><p>  cout<<"┃ 沒(méi)有匹配的數(shù)據(jù) ┃"<<endl;</p><p>  cout<<"┗━━━━━━━━━━━━━━━━━━━━━━━━━━━

127、━━━━━━━━━┛"<<endl;</p><p><b>  }</b></p><p><b>  else</b></p><p>  cout<<"┗━━━━━┻━━━━━┻━━━┻━━━┻━━━┻━━━━┻━━━━┻━━┛"<<endl;&l

128、t;/p><p>  curnode=p;</p><p>  cout<<"以上是本次查找的結(jié)果!"<<endl;</p><p>  cout<<" ";system("pause");</p><p><b>  }</b&g

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

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

131、p><p><b>  {</b></p><p>  cout<<"┏━━━━━━━┓"<<endl;</p><p>  cout<<"┃!這是一個(gè)空表!┃"<<endl;</p><p>  cout<<&quo

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

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

134、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><b>  if(b)</

135、b></p><p><b>  {</b></p><p><b>  i=0;</b></p><p>  pw->next=curnode->next;</p><p>  delete curnode;</p><p>  curnode=pw-&g

136、t;next;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  pw=curnode;</p><p>  curnode=curnode->next

137、;</p><p><b>  }</b></p><p><b>  }</b></p><p>  //當(dāng)i=1是代表沒(méi)有找到數(shù)據(jù)</p><p><b>  if(i)</b></p><p><b>  {</b></

138、p><p>  cout<<"┏━━━━━━━┓"<<endl;</p><p>  cout<<"┃沒(méi)有匹配的數(shù)據(jù)┃"<<endl;</p><p>  cout<<"┗━━━━━━━┛"<<endl;</p>

139、<p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"┏━━━━━━━┓"<<endl;</p><p>  cout&l

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

141、e(curnode->next)</p><p><b>  {</b></p><p>  curnode=curnode->next;</p><p><b>  }</b></p><p>  cout<<" ";system("pause

142、");</p><p><b>  }</b></p><p>  //////////////////////////////////////排序函數(shù)的實(shí)現(xiàn)</p><p>  void student::compositor(int n,int m)</p><p><b>  {</b&g

143、t;</p><p>  if(head->next==NULL)</p><p><b>  {</b></p><p>  cout<<"┏━━━━━━━━━━━┓"<<endl;</p><p>  cout<<"┃!這是一個(gè)空表不能排

144、序!┃"<<endl;</p><p>  cout<<"┗━━━━━━━━━━━┛"<<endl;</p><p>  cout<<" ";system("pause");</p><p><b>  return;</b>

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

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

147、;);</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-&g

148、t;next; </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&g

149、t;<p><b>  {</b></p><p><b>  switch(n)</b></p><p><b>  {</b></p><p><b>  case 1:</b></p><p><b>  {</b>

150、;</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

151、->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

152、><p><b>  break; </b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b>&l

153、t;/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;

154、</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>

155、<p><b>  }</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 2:</b></p><p><b>  {</b><

156、/p><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

溫馨提示

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