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

下載本文檔

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

文檔簡介

1、<p>  計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)</p><p><b>  目 錄</b></p><p><b>  1.任務(wù)要求1</b></p><p><b>  2.設(shè)計(jì)方案1</b></p><p><b>  3.設(shè)計(jì)內(nèi)容2</b>&l

2、t;/p><p>  3.1.類設(shè)計(jì)圖:2</p><p>  3.3 設(shè)計(jì)步驟:3</p><p><b>  3.4 調(diào)試:3</b></p><p><b>  3.5 結(jié)果:4</b></p><p>  3.6程序源代源5</p><p&g

3、t;<b>  4.總結(jié)5</b></p><p><b>  5.參考文獻(xiàn)5</b></p><p><b>  學(xué)生成績管理系統(tǒng)</b></p><p><b>  1.任務(wù)要求</b></p><p>  ⑴ 所設(shè)計(jì)的管理系統(tǒng)可實(shí)現(xiàn)對學(xué)生信息和每

4、個(gè)學(xué)生成績的管理。</p><p>  ⑵ 設(shè)計(jì)數(shù)據(jù)的存儲(chǔ)方式,使得用戶輸入的數(shù)據(jù)能夠保存到磁盤,并在下一次打開時(shí)可以讀入已經(jīng)存儲(chǔ)的數(shù)據(jù)。當(dāng)?shù)谝淮问褂脽o存盤數(shù)據(jù)時(shí)應(yīng)自動(dòng)創(chuàng)建磁盤數(shù)據(jù)記錄文件。</p><p> ?、?設(shè)計(jì)學(xué)生類,并通過類中包含的方法錄入或從文件讀入數(shù)據(jù)。</p><p> ?、仍谥鹘缑嬷邪ā拜斎雽W(xué)生成績、顯示統(tǒng)計(jì)數(shù)據(jù)、查找學(xué)生成績、修改學(xué)生成績、刪

5、除學(xué)生成績、插入學(xué)生成績、按平均分降序排列、顯示全部學(xué)生成績、退出本系統(tǒng)”等全部的功能。</p><p><b>  2.設(shè)計(jì)方案</b></p><p>  因?yàn)楸鞠到y(tǒng)是一個(gè)比較小的學(xué)生成績管理系統(tǒng),因此將程序的所有功能放在了一個(gè)文件中,使得方便對程序的管理。</p><p>  總體思路如下流程圖: </p><p>

6、;<b>  3.設(shè)計(jì)內(nèi)容</b></p><p><b>  3.1.類設(shè)計(jì)圖:</b></p><p><b>  【基本要求】</b></p><p>  將學(xué)生定義成類Stu。</p><p>  每個(gè)類中的私有成員變量需通過類中的友元函數(shù)獲取值或設(shè)置值。</p&

7、gt;<p>  設(shè)計(jì)程序入口main()使用各類中的方法管理數(shù)據(jù)和信息。</p><p>  設(shè)計(jì)讀入文件和寫入文件的代碼。</p><p><b>  3.2 設(shè)計(jì)步驟:</b></p><p>  在main()函數(shù)中主要是通過“switch(menu())”選擇判斷來調(diào)用相關(guān)功能模塊。系統(tǒng)的運(yùn)行是在一個(gè)循環(huán)里進(jìn)行的,只有在

8、主界面并選擇“退出本系統(tǒng)”時(shí),才會(huì)跳出循環(huán),并退出程序。</p><p>  在主界面中包括“輸入學(xué)生成績 顯示統(tǒng)計(jì)數(shù)據(jù) 查找學(xué)生成績 修改學(xué)生成績 刪除學(xué)生成績 插入學(xué)生成績 按平均分降序排列 顯示全部學(xué)生成績 退出本系統(tǒng)”等全部的功能,之所以設(shè)計(jì)這么一個(gè)主界面,一是因?yàn)槟苁褂脩魧Τ绦虿僮鞯牧鞒谈忧宄喢鳎潜WC了用戶同時(shí)只能對一個(gè)文件進(jìn)行操作的系統(tǒng)要求,保證了系統(tǒng)不會(huì)發(fā)生打開文件紊亂或

9、者出現(xiàn)致命錯(cuò)誤。每個(gè)函數(shù)的具體功能:</p><p>  1)主函數(shù)main():定義學(xué)生結(jié)構(gòu)體數(shù)組,調(diào)用錄入、統(tǒng)計(jì)等函數(shù)對成績表進(jìn)行處理;</p><p>  2)錄入函數(shù)Input():輸入班級到政治課成績;</p><p>  3)統(tǒng)計(jì)函數(shù)Tongji():計(jì)算平均成績;</p><p>  4)查詢函數(shù)Lookup():查詢指定學(xué)號(hào)學(xué)

10、生成績記錄;</p><p>  5)修改函數(shù)Xiugai():修改指定學(xué)號(hào)學(xué)生成績記錄;</p><p>  6)刪除函數(shù)Delete():刪除指定學(xué)號(hào)學(xué)生記錄;</p><p>  7)輸出函數(shù)OutputAll():輸出班級所有學(xué)生成績記錄;</p><p>  8) 排序函數(shù)Sort():按平均分對學(xué)生成績記錄項(xiàng)進(jìn)行降序排序;<

11、/p><p>  9)插入函數(shù)Insert():按平均分順序插入新記錄。</p><p><b>  3.3 調(diào)試:</b></p><p>  調(diào)試是整個(gè)程序編寫過程中十分重要也是很困難的一部分,在這個(gè)過程中用了不少的時(shí)間進(jìn)行程序的調(diào)試,在調(diào)試過程中遇到的相關(guān)問題如下:</p><p><b>  一、語法錯(cuò)誤&

12、lt;/b></p><p>  1、語句的最后忘記了加上“;”,使程序發(fā)生錯(cuò)誤。</p><p>  2、把“<<”與“>>”寫反,以及字符與字符串的操作問題,這些是比較簡單的錯(cuò)誤,很容易分辨出來,并改正之。</p><p>  3、函數(shù)的返回值問題,也是比較容易找出并解決的問題。</p><p><b&

13、gt;  二、邏輯錯(cuò)誤</b></p><p>  1、文件的寫入與讀出,剛開始對文件的操作不太明白,一致不能很好的操作文件,其中最大的問題是對已存在的文件讀取問題,通過“顯示全部學(xué)生成績” 將數(shù)據(jù)從文件中讀取,可是在使用過程中總是出現(xiàn)讀出錯(cuò)誤,出現(xiàn)亂碼。</p><p>  2、內(nèi)存的分配問題,這也是困惑了我好久的問題。對于我們初學(xué)者來說對內(nèi)存的分配和釋放問題是比較抽象和模糊

14、的難題,本來使用鏈表的方式存儲(chǔ)數(shù)據(jù),然而待到排序時(shí)出現(xiàn)了交換數(shù)據(jù)困難的問題,以及分配空間繁瑣釋放空間不及時(shí)的問題,造成空間浪費(fèi)使得程序運(yùn)行效率低的問題。因此最后采用了順序存儲(chǔ)記錄的方式,這樣就能改變前述問題。</p><p>  整個(gè)調(diào)試過程中主要是這么幾個(gè)問題,其余的是一些小問題,很容易的就調(diào)試出來了。</p><p><b>  3.4 結(jié)果:</b></p

15、><p><b>  3.5程序源代源</b></p><p>  #include<iostream.h></p><p>  #include<fstream.h></p><p>  #include<stdlib.h></p><p>  #include&

16、lt;string.h></p><p>  #include<stdio.h></p><p>  class Stu //構(gòu)建學(xué)生類</p><p><b>  {</b></p><p><b>  public:</b></p><p>

17、;  friend void Input(Stu stud[]) ;//能夠訪問類的所有成員的函數(shù)</p><p>  friend void Tongji(Stu stud[]);</p><p>  friend void Lookup(Stu stud[]) ;</p><p>  friend void Change(Stu stud[]) ;</p&

18、gt;<p>  friend void Delete(Stu stud[]) ;</p><p>  friend void OutputAll(Stu stud[]) ;</p><p>  friend void Paixu(Stu stud[]) ;</p><p>  friend void Insert(Stu stud[]) ;</

19、p><p>  friend void Write(Stu stud[],int n);</p><p>  friend int Read(Stu stud[]);</p><p><b>  private:</b></p><p>  char class_0[20];</p><p><

20、b>  int num;</b></p><p>  char name[8];</p><p>  float c_program;</p><p>  float net;</p><p>  float english;</p><p>  float math;</p><

21、p>  float sport;</p><p>  float average;</p><p>  int order;</p><p>  }stud[100];</p><p>  void Write(Stu stud[],int n) //向文件中寫入數(shù)據(jù)</p><p><b>  {&

22、lt;/b></p><p>  fstream myFile;</p><p>  myFile.open("student.txt",ios::out);</p><p>  if(!myFile)</p><p><b>  {</b></p><p>  cout

23、<<"student.txt can't open!"<<endl;</p><p><b>  abort();</b></p><p><b>  }</b></p><p>  int count=n;</p><p>  myFile<

24、;<count<<endl<<endl;</p><p>  for(int i=0;i<=count;i++)</p><p><b>  {</b></p><p>  myFile<<stud[i].class_0<<" "<<stud[i].nu

25、m<<" "<<stud[i].name<<" "<<stud[i].c_program<<" "<<stud[i].net<<" "<<stud[i].english</p><p>  <<" "<

26、<stud[i].math<<" "<<stud[i].sport<<" "<<stud[i].average<<endl;</p><p><b>  }</b></p><p>  myFile.close();</p><p><

27、;b>  }</b></p><p>  int Read(Stu stud[]) //從文件中讀數(shù)據(jù)</p><p><b>  {</b></p><p>  fstream myFile;</p><p>  myFile.open("student.txt",ios::in

28、);</p><p>  if(!myFile)</p><p><b>  {</b></p><p>  cout<<"student.txt can't open!"<<endl;</p><p><b>  abort();</b><

29、/p><p><b>  }</b></p><p>  int count;</p><p>  myFile.seekg(0);</p><p>  myFile>>count;</p><p>  for(int i=0;i<=count;i++)</p><

30、;p><b>  { </b></p><p>  myFile>>stud[i].class_0>>stud[i].num>>stud[i].name>>stud[i].c_program>>stud[i].net>>stud[i].english>>stud[i].math>>stu

31、d[i].sport>>stud[i].average;</p><p><b>  }</b></p><p>  myFile.close();</p><p>  return count ;</p><p><b>  }</b></p><p>  vo

32、id Input(Stu stud[]) //---------------輸入學(xué)生成績</p><p><b>  {</b></p><p>  system("cls"); /*運(yùn)行前清屏*/</p><p><b>  int i=0;</b></p><p><

33、b>  int flag;</b></p><p>  char sign;</p><p>  cout<<endl<<"====>> 請輸入學(xué)生成績 <<===="<<endl;</p><p>  while(sign!='n'&&

34、sign!='N') /*判斷*/ </p><p><b>  { </b></p><p>  cout<<"班級:"; /*交互輸入*/ </p><p>  cin>>stud[i].class_0; </p><p><b>  loop:

35、</b></p><p>  cout<<"學(xué)號(hào):"; </p><p>  cin>>stud[i].num;</p><p><b>  int c=0;</b></p><p>  while(c<i)</p><p><

36、b>  {</b></p><p><b>  c++;</b></p><p>  if(stud[i].num==stud[i-c].num)</p><p><b>  {</b></p><p>  cout<<" 你輸入的學(xué)號(hào)已經(jīng)存在!請重新輸入。&

37、quot;<<endl;</p><p>  goto loop;</p><p><b>  }</b></p><p><b>  }</b></p><p>  cout<<"姓名:"; </p><p>  cin&g

38、t;>stud[i].name; </p><p><b>  do{ </b></p><p><b>  flag=0;</b></p><p>  cout<<"C++程序設(shè)計(jì)成績:"; </p><p>  cin>>stud[i].c_

39、program; </p><p>  if(stud[i].c_program>100 ||stud[i].c_program<1) </p><p>  cout<<"對不起,請輸入1-100之間的數(shù)字!!\n"; </p><p><b>  else </b></p><p

40、><b>  flag=1;</b></p><p>  }while(flag==0); </p><p><b>  do{</b></p><p><b>  flag=0;</b></p><p>  cout<<"計(jì)算機(jī)網(wǎng)絡(luò)成績:&qu

41、ot;; </p><p>  cin>>stud[i].net; </p><p>  if(stud[i].net>100 ||stud[i].net<1) </p><p>  cout<<"對不起,請輸入1-100之間的數(shù)字!!\n"; </p><p><b>  e

42、lse </b></p><p><b>  flag=1;</b></p><p>  }while(flag==0); </p><p><b>  do{</b></p><p><b>  flag=0;</b></p><p> 

43、 cout<<"大學(xué)英語成績:"; </p><p>  cin>>stud[i].english; </p><p>  if(stud[i].english>100 ||stud[i].english<1) </p><p>  cout<<"對不起,請輸入1-100之間的數(shù)字!!\

44、n"; </p><p><b>  else </b></p><p><b>  flag=1;</b></p><p>  }while(flag==0); </p><p><b>  do{</b></p><p><b>

45、;  flag=0;</b></p><p>  cout<<"高等數(shù)學(xué)成績:"; </p><p>  cin>>stud[i].math;</p><p>  if(stud[i].math>100 ||stud[i].math<1) </p><p>  cout&l

46、t;<"對不起,請輸入1-100之間的數(shù)字!!\n"; </p><p><b>  else </b></p><p><b>  flag=1;</b></p><p>  }while(flag==0); </p><p><b>  do{</b&

47、gt;</p><p><b>  flag=0;</b></p><p>  cout<<"大學(xué)體育成績:"; </p><p>  cin>>stud[i].sport; </p><p>  if(stud[i].sport>100 ||stud[i].sport

48、<1) </p><p>  cout<<"對不起,請輸入1-100之間的數(shù)字!!\n"; </p><p><b>  else </b></p><p><b>  flag=1;</b></p><p>  }while(flag==0); </p&

49、gt;<p>  stud[i].average=(stud[i].c_program+stud[i].net+stud[i].english+stud[i].math+stud[i].sport)/5; </p><p>  cout<<"平均分為:"<<stud[i].average<<endl; </p><p>

50、;  cout<<"====>提示:是否繼續(xù)寫入學(xué)生成績?(Y/N)"; </p><p>  cin>>sign; /*輸入判斷*/ </p><p><b>  i++; </b></p><p><b>  } </b></p><p>  W

51、rite(stud,i);</p><p><b>  }</b></p><p>  void Tongji(Stu stud[]) //---------------統(tǒng)計(jì)學(xué)生數(shù)據(jù)</p><p><b>  {</b></p><p>  system("cls");

52、 /*運(yùn)行前清屏*/</p><p>  int n=Read(stud);</p><p>  cout<<endl<<"====>> 輸出學(xué)生統(tǒng)計(jì)數(shù)據(jù) <<===="<<endl;</p><p>  cout<<"班級"<<"\

53、t"<<"學(xué)號(hào)"<<"\t"<<" 姓名"<<"\t"<<" 平均分"<<endl;</p><p>  for(int i=0;i<n;i++)</p><p>  cout<<stud[i

54、].class_0<<"\t"<<stud[i].num<<"\t"<<stud[i].name<<"\t"<<stud[i].average<<endl;</p><p>  system("pause"); </p><p>

55、;<b>  }</b></p><p>  void Lookup(Stu stud[]) //---------------查找學(xué)生成績 </p><p><b>  { </b></p><p>  system("cls"); /*運(yùn)行前清屏*/</p><p>  in

56、t n=Read(stud);</p><p><b>  int s; </b></p><p><b>  int i=0;</b></p><p>  cout<<endl<<"====>> 查找學(xué)生成績 <<===="<<endl;&l

57、t;/p><p>  cout<<"請輸入需要查找學(xué)生的學(xué)號(hào):"<<endl; </p><p><b>  cin>>s; </b></p><p>  while((stud[i].num-s)!=0&&i<n) i++; /*查找判斷*/ </p>&

58、lt;p><b>  if(i==n) </b></p><p><b>  { </b></p><p>  cout<<"=====>提示:對不起,無法找到該學(xué)生的信息!"<<endl; /*輸入失敗信息*/ </p><p><b>  } </

59、b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"---------------------------"<<endl; </p><p>  cout<<&qu

60、ot;班級:"<<stud[i].class_0<<endl; /*輸出該學(xué)生信息*/ </p><p>  cout<<"學(xué)號(hào):"<<stud[i].num<<endl; </p><p>  cout<<"姓名:"<<stud[i].name<&l

61、t;endl; </p><p>  cout<<"C++程序設(shè)計(jì):"<<stud[i].c_program<<endl; </p><p>  cout<<"計(jì)算機(jī)網(wǎng)絡(luò):"<<stud[i].net<<endl; </p><p>  cout<

62、<"大學(xué)英語:"<<stud[i].english<<endl; </p><p>  cout<<"高等數(shù)學(xué):"<<stud[i].math<<endl; </p><p>  cout<<"大學(xué)體育:"<<stud[i].sport<

63、;<endl; </p><p>  cout<<"平均分:"<<stud[i].average<<endl;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void Change(S

64、tu stud[]) //---------------修改學(xué)生成績</p><p><b>  { </b></p><p>  system("cls"); /*運(yùn)行前清屏*/</p><p>  int n=Read(stud);</p><p><b>  int s; <

65、/b></p><p><b>  int i=0;</b></p><p>  cout<<endl<<"====>> 修改學(xué)生成績 <<===="<<endl;</p><p>  cout<<"請輸入需要修改成績學(xué)生的學(xué)號(hào):&quo

66、t;<<endl; </p><p><b>  cin>>s; </b></p><p>  while((stud[i].num-s)!=0&&i<n) i++; /*查找判斷*/ </p><p><b>  if(i==n) </b></p><p&

67、gt;<b>  { </b></p><p>  cout<<"=====>提示:對不起,無該學(xué)生的成績……"<<endl; /*輸入失敗信息*/</p><p><b>  } </b></p><p><b>  else</b></p&g

68、t;<p><b>  {</b></p><p>  cout<<"----------該學(xué)生的信息----------"<<endl; /*格式頭*/ </p><p>  cout<<"班級"<<"\t"<<"學(xué)號(hào)&qu

69、ot;<<"\t"<<"姓名"<<"\t"<<"c++"<<"\t"<<" 網(wǎng)絡(luò)"<<"\t"<<"英語"<<"\t"<<"數(shù)學(xué)&

70、quot;<<"\t"<<"體育"<<"\t"<<"平均分"<<endl;</p><p>  cout<<"---------------------------------"<<endl; </p><p&g

71、t;  cout<<stud[i].class_0<<"\t"<<stud[i].num<<"\t"<<stud[i].name<<"\t"<<stud[i].c_program<<"\t"<<stud[i].net<<"\t&q

72、uot;<<stud[i].english<<"\t"<<stud[i].math<<"\t"<<stud[i].sport<<"\t"<<stud[i].average<<endl;</p><p>  cout<<"請重新輸入該學(xué)生的

73、信息"<<endl;</p><p>  cout<<"班級:"<<endl; /*交互輸入*/ </p><p>  cin>>stud[i].class_0; </p><p>  cout<<"學(xué)號(hào):"<<endl; </p>

74、<p>  cin>>stud[i].num; </p><p>  cout<<"姓名:"<<endl; </p><p>  cin>>stud[i].name; </p><p>  cout<<"C++程序設(shè)計(jì)成績:"<<endl;

75、</p><p>  cin>>stud[i].c_program; </p><p>  cout<<"計(jì)算機(jī)網(wǎng)絡(luò)成績:"<<endl; </p><p>  cin>>stud[i].net; </p><p>  cout<<"大學(xué)英語成績:&qu

76、ot;<<endl; </p><p>  cin>>stud[i].english; </p><p>  cout<<"高等數(shù)學(xué)成績:"<<endl; </p><p>  cin>>stud[i].math; </p><p>  cout<<&

77、quot;大學(xué)體育成績:"<<endl; </p><p>  cin>>stud[i].sport; </p><p>  stud[i].average=(stud[i].c_program+stud[i].net+stud[i].english+stud[i].math+stud[i].sport)/5; </p><p> 

78、 cout<<"平均分為:"<<stud[i].average<<endl;</p><p><b>  char c;</b></p><p>  cout<<"是否保存數(shù)據(jù)?(y/n)"<<endl;</p><p><b>  c

79、in>>c;</b></p><p>  if(c!='n'&&c!='N')</p><p>  Write(stud,n);</p><p><b>  }</b></p><p><b>  }</b></p>

80、<p>  void Delete(Stu stud[]) //---------------按學(xué)號(hào)查找,刪除學(xué)生信息 </p><p><b>  {</b></p><p>  system("cls"); /*運(yùn)行前清屏*/ </p><p>  int n=Read(stud);</p>

81、<p><b>  int s; </b></p><p>  int i=0,j;</p><p>  cout<<endl<<"====>> 刪除學(xué)生成績 <<===="<<endl;</p><p>  cout<<"請輸入需要

82、刪除學(xué)生的學(xué)號(hào):"<<endl; /*交互式問尋*/ </p><p><b>  cin>>s; </b></p><p>  while((stud[i].num-s)!=0&&i<n) i++; /*查找判斷*/ </p><p><b>  if(i==n) </b

83、></p><p><b>  { </b></p><p>  cout<<"====>提示:對不起,無法找到該學(xué)生……"<<endl; /*返回失敗信息*/ </p><p><b>  } </b></p><p><b>  

84、else</b></p><p><b>  {</b></p><p>  for(j=i;j<n-1;j++) /*刪除操作*/ </p><p><b>  { </b></p><p>  strcpy(stud[j].class_0,stud[j+1].class_0);

85、 </p><p>  stud[j].num=stud[j+1].num; </p><p>  strcpy(stud[j].name,stud[j+1].name); </p><p>  stud[j].c_program=stud[j+1].c_program; </p><p>  stud[j].net=stud[j+1].n

86、et; </p><p>  stud[j].english=stud[j+1].english; </p><p>  stud[j].math=stud[j+1].math; </p><p>  stud[j].sport=stud[j+1].sport; </p><p>  stud[j].average=stud[j+1].ave

87、rage;</p><p><b>  }</b></p><p>  cout<<"====>提示:已成功刪除!"<<endl; /*返回成功信息*/</p><p><b>  } </b></p><p>  Write(stud,n-1);&

88、lt;/p><p><b>  } </b></p><p>  void Insert(Stu stud[]) //---------------增加學(xué)生成績 </p><p><b>  { </b></p><p>  system("cls"); /*運(yùn)行前清屏*/<

89、/p><p>  int n=Read(stud);</p><p><b>  char s;</b></p><p>  cout<<endl<<"====>> 增加學(xué)生成績<<===="<<endl;</p><p>  while(s!=

90、'n'&&s!='N')</p><p><b>  {</b></p><p>  cout<<"班級:"<<endl; /*交互輸入*/ </p><p>  cin>>stud[n].class_0; </p><p

91、>  cout<<"學(xué)號(hào):"; </p><p>  cin>>stud[n].num; </p><p>  cout<<"姓名:"; </p><p>  cin>>stud[n].name; </p><p>  cout<<&qu

92、ot;C++程序設(shè)計(jì)成績:"; </p><p>  cin>>stud[n].c_program; </p><p>  cout<<"計(jì)算機(jī)網(wǎng)絡(luò)成績:"; </p><p>  cin>>stud[n].net; </p><p>  cout<<"大

93、學(xué)英語成績:"; </p><p>  cin>>stud[n].english; </p><p>  cout<<"高等數(shù)學(xué)成績:"; </p><p>  cin>>stud[n].math; </p><p>  cout<<"大學(xué)體育成績:&qu

94、ot;; </p><p>  cin>>stud[n].sport; </p><p>  stud[n].average=(stud[n].c_program+stud[n].net+stud[n].english+ stud[n].math+stud[n].sport)/5; </p><p>  cout<<"平均分&quo

95、t;<<stud[n].average;</p><p><b>  n++; </b></p><p>  cout<<"=====>提示:插入成功!"<<endl; /*返回成功信息*/</p><p>  cout<<"是否繼續(xù)輸入(y/n)"&

96、lt;<endl;</p><p><b>  cin>>s;</b></p><p><b>  }</b></p><p>  Write(stud,n); </p><p><b>  }</b></p><p>  void P

97、aixu(Stu stud[]) //---------------按平均分對學(xué)生成績記錄項(xiàng)進(jìn)行降序排序 </p><p><b>  {</b></p><p>  system("cls"); /*運(yùn)行前清屏*/ </p><p>  int i,j,k; </p><p><b>  

98、float s; </b></p><p>  char t[20];</p><p>  cout<<endl<<"====>> 降序排序成績 <<===="<<endl;</p><p>  int n=Read(stud);</p><p>  

99、for(i=0;i<n-1;i++) /*冒泡法排序*/ </p><p>  for(j=0;j<n-1-i;j++) </p><p>  if(stud[j].average<stud[j+1].average) </p><p><b>  { </b></p><p>  strcpy(t,s

100、tud[j+1].class_0); </p><p>  strcpy(stud[j+1].class_0,stud[j].class_0); </p><p>  strcpy(stud[j].class_0,t); </p><p>  k=stud[j+1].num; </p><p>  stud[j+1].num=stud[j].

101、num; </p><p>  stud[j].num=k; </p><p>  strcpy(t,stud[j+1].name); </p><p>  strcpy(stud[j+1].name,stud[j].name); </p><p>  strcpy(stud[j].name,t); </p><p>

102、  s=stud[j+1].c_program; </p><p>  stud[j+1].c_program=stud[j].c_program; </p><p>  stud[j].c_program=s; </p><p>  s=stud[j+1].net; </p><p>  stud[j+1].net=stud[j].net;

103、 </p><p>  stud[j].net=s; </p><p>  s=stud[j+1].english; </p><p>  stud[j+1].english=stud[j].english; </p><p>  stud[j].english=s; </p><p>  s=stud[j+1].ma

104、th; </p><p>  stud[j+1].math=stud[j].math; </p><p>  stud[j].math=s; </p><p>  s=stud[j+1].sport; </p><p>  stud[j+1].sport=stud[j].sport; </p><p>  stud[j

105、].sport=s; </p><p>  s=stud[j+1].average; </p><p>  stud[j+1].average=stud[j].average; </p><p>  stud[j].average=s; </p><p><b>  } </b></p><p>

106、  cout<<"----------------------------------------------------"<<endl; /*格式頭*/ </p><p>  cout<<"班級"<<"\t"<<"學(xué)號(hào)"<<"\t"<&

107、lt;"姓名"<<"\t"<<"C++"<<"\t"<<"網(wǎng)絡(luò)"<<"\t"<<"英語"<<"\t"<<"數(shù)學(xué)"<<"\t"<

108、<"體育"<<"\t"<<"平均分"<<"\t"<<"名次"<<endl; </p><p>  cout<<"----------------------------------------------------"

109、<<endl; </p><p>  for(i=0;i<n;i++) /*循環(huán)輸入*/ </p><p><b>  { </b></p><p>  stud[i].order=i+1;</p><p>  cout<<stud[i].class_0<<"\t&qu

110、ot;<<stud[i].num<<"\t"<<stud[i].name<<"\t"<<stud[i].c_program<<"\t"<<stud[i].net<<"\t "<<stud[i].english<<" \t"

111、;<< stud[i].math<<"\t"<<stud[i].sport<<"\t "<<stud[i].average<<"\t"<<stud[i].order<<endl; </p><p><b>  } </b><

112、/p><p>  Write(stud,n);</p><p><b>  }</b></p><p>  void OutputAll(Stu stud[]) //---------------顯示全部學(xué)生成績 </p><p><b>  {</b></p><p>  sy

113、stem("cls"); /*運(yùn)行前清屏*/</p><p>  int n=Read(stud);</p><p>  cout<<endl<<"====>> 顯示全部學(xué)生成績 <<===="<<endl;</p><p><b>  if(!stud)&

114、lt;/b></p><p>  cout<<"沒有記錄"; </p><p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"----------------------------

115、------------------------"<<endl; /*格式頭*/ </p><p>  cout<<"班級"<<"\t"<<"學(xué)號(hào)"<<"\t"<<"姓名"<<"\t"<<&

116、quot;c++"<<"\t"<<"網(wǎng)絡(luò)"<<"\t"<<"英語"<<"\t"<<"數(shù)學(xué)"<<"\t"<<"體育"<<"\t"<<

117、"平均分"<<endl;</p><p>  cout<<"------------------------------------------------"<<endl; </p><p>  for(int i=0;i<n;i++) /*循環(huán)輸入*/ </p><p><b&

118、gt;  { </b></p><p>  cout<<stud[i].class_0<<"\t "<<stud[i].num<<"\t "<<stud[i].name<<"\t "<<stud[i].c_program<<"\t &qu

119、ot;<<stud[i].net<<"\t "<<stud[i].english<<"\t "<< stud[i].math<<" \t"<<stud[i].sport<<"\t"<<stud[i].average<<endl; </

120、p><p><b>  } </b></p><p>  cout<<"--------------------------------------------------------"<<endl;</p><p><b>  } </b></p><p>

121、<b>  }</b></p><p>  int menu() /*菜單函數(shù)*/ </p><p><b>  { </b></p><p><b>  char c; </b></p><p><b>  do </b></p><

122、p><b>  { </b></p><p>  system("cls"); /*運(yùn)行前清屏*/ </p><p>  cout<<"****************************************************************\n"<<endl; </p&

123、gt;<p>  cout<<" -----------------《歡迎您使用學(xué)生成績管理系統(tǒng)》--------------\n"<<endl; </p><p>  cout<<" ------------------------設(shè)計(jì)人:天涯海角-----------------------\n"<<endl

124、; </p><p>  cout<<" ------------------------QQ:478903423-----------------------\n"<<endl;</p><p>  cout<<" ******************************************************

125、********\n\n"<<endl;/*菜單選擇*/ </p><p>  cout<<" * 【1】輸入學(xué)生成績 * "<<endl; </p><p>  cout<<" * 【2】

126、顯示統(tǒng)計(jì)數(shù)據(jù) * "<<endl; </p><p>  cout<<" * 【3】查找學(xué)生成績 * "<<endl; </p><p>  cout<<" *

127、 【4】修改學(xué)生成績 * "<<endl; </p><p>  cout<<" * 【5】刪除學(xué)生成績 * "<<endl; </p><p>  cout<<" *

128、 【6】插入學(xué)生成績 * "<<endl; </p><p>  cout<<" * 【7】按平均分降序排列 * "<<endl; </p><p>  cout<<" *

129、 【8】顯示全部學(xué)生成績 * "<<endl; </p><p>  cout<<" * 【0】退出本系統(tǒng) * "<<endl<<endl; </p><p>  cout<<

130、"***************************************************************"<<endl; </p><p>  cout<<"請你選擇操作(0-8):"<<endl; </p><p>  c=getchar(); /*讀入選擇*/ </p>&

131、lt;p><b>  } </b></p><p>  while(c<'0'||c>'8'); </p><p>  return(c-'0'); /*返回選擇*/ </p><p><b>  } </b></p><p>  v

132、oid main() /*主函數(shù)*/ </p><p><b>  { </b></p><p><b>  for(;;) </b></p><p><b>  { </b></p><p>  switch(menu()) /*選擇判斷*/ </p><

133、p><b>  { </b></p><p><b>  case 1: </b></p><p>  Input(stud);/*輸入學(xué)生成績*/ </p><p><b>  break; </b></p><p><b>  case 2: </

134、b></p><p>  Tongji(stud); /*輸出學(xué)生統(tǒng)計(jì)數(shù)據(jù)*/ </p><p><b>  break;</b></p><p>  case 3: </p><p>  Lookup(stud); /*查找學(xué)生成績*/</p><p>  cout<<&q

135、uot;\t\t\t"; </p><p>  system("pause"); </p><p><b>  break; </b></p><p><b>  case 4: </b></p><p>  Change(stud); /*修改學(xué)生成績*/</

136、p><p>  cout<<"\t\t\t"; </p><p>  system("pause"); </p><p><b>  break; </b></p><p><b>  case 5: </b></p><p>

137、  Delete(stud); /*按學(xué)號(hào)查找,刪除學(xué)生信息*/ </p><p>  cout<<"\t\t\t"; </p><p>  system("pause"); </p><p><b>  break; </b></p><p><b>  c

138、ase 6: </b></p><p>  Insert(stud);/*增加學(xué)生成績*/ </p><p>  cout<<"\t\t\t"; </p><p>  system("pause"); </p><p><b>  break; </b>&

139、lt;/p><p><b>  case 7: </b></p><p>  Paixu(stud); /*按平均分對成績記錄項(xiàng)進(jìn)行降序排序*/ </p><p>  cout<<"\t\t\t"; </p><p>  system("pause"); </p&

140、gt;<p><b>  break; </b></p><p><b>  case 8: </b></p><p>  OutputAll(stud); /*顯示全部學(xué)生成績*/</p><p>  cout<<"\t\t\t"; </p><p>

141、;  system("pause"); </p><p><b>  break; </b></p><p><b>  case 0: </b></p><p>  cout<<endl<<" ================================<&

142、lt;感謝您使用學(xué)生成績管理系統(tǒng)>>===============================\n"<<endl; /*結(jié)束程序*/ </p><p>  cout<<"\t\t\t"; </p><p>  system("pause"); </p><p><b>

143、;  exit(0); </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  }</b></p><p><b>  4.總結(jié)</b></p><p>

144、  這一段時(shí)間的C++課程設(shè)計(jì),時(shí)間上說長不長,說短也不短,卻讓我學(xué)到了很多,第一點(diǎn)就是:C++很難,似乎是學(xué)不完的,你覺得自己了解一點(diǎn),是總會(huì)發(fā)現(xiàn)還有很多自己所不懂的東西,還有很多自己所沒探知的領(lǐng)域,很多知識(shí)運(yùn)用到實(shí)踐中很有一定的難度,看著自己和同學(xué)的程序運(yùn)行結(jié)果,突然發(fā)現(xiàn)C++真的很神奇,居然能運(yùn)行出那么漂亮的系統(tǒng),看著運(yùn)行結(jié)果。</p><p>  在我們上機(jī)調(diào)試程序的過程中,我遇到了很多的問題,說實(shí)話這次

145、課程設(shè)計(jì)自己沒有出多大的力,大部分都是借鑒同學(xué)的設(shè)計(jì)成果,自己設(shè)計(jì)是總是覺得沒有頭緒,無從下手??吹酵瑢W(xué)認(rèn)真看程序的樣子,還有修改程序時(shí)的熟練,我很羨慕他,我想,我也要將C++學(xué)好,在將來能為我的就業(yè)加分。</p><p>  在這期末考試前期,學(xué)院給我們安排的課程設(shè)計(jì)周,總讓我們覺的有些為難我們,這樣一個(gè)復(fù)雜困難而又繁瑣的作業(yè),似乎弄得我們既沒有時(shí)間也沒有心情復(fù)習(xí),我曾一度地抱怨過學(xué)院,在完成它之后,我發(fā)現(xiàn)我錯(cuò)

146、了,課程設(shè)計(jì)不僅讓我們鞏固了所學(xué)的知識(shí),還使得我們學(xué)習(xí)到了更多平時(shí)所忽略的,最重要的是,它磨礪了我們,讓我們在大學(xué)的下一個(gè)階段能更好的成長。雖然學(xué)生信息量相對來說有點(diǎn)少,只是為了演示程序,如要增加則只需要增加學(xué)生類中的成員變量和相應(yīng)的方法即可。</p><p><b>  5.參考文獻(xiàn)</b></p><p>  [1] 譚浩強(qiáng)編著. C++面向?qū)ο蟪绦蛟O(shè)計(jì).北京:清

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論