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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  《C++程序設計》</b></p><p><b>  課程設計說明書</b></p><p><b>  課程設計任務書</b></p><p><b>  目錄</b></p><p><b>  【前言】<

2、;/b></p><p>  第1章 需求分析3</p><p>  第2章 總體設計3</p><p>  第3章 類的設計3</p><p>  3.1 ×××類的設計3</p><p>  3.2 ×××類的設計4</p>

3、<p>  第4章 詳細設計4</p><p>  4.1 工程視圖4</p><p>  4.2 類圖視圖4</p><p>  4.3 函數的調用關系5</p><p>  4.4 主程序流程圖5</p><p>  4.5 主要算法的流程圖5</p><p><

4、b>  第5章 測試5</b></p><p><b>  第6章 總結5</b></p><p><b>  附錄:程序代碼6</b></p><p><b>  需求分析</b></p><p>  學生成績管理系統主要提供成績查詢,方便管理的網上的

5、信息查閱平臺,學生可以通過該系統查閱與自己相關信息,查看留言,提交留言。教師可以通過成績管理系統查閱學生成績信息,教師信息,查看教師留言,學生留言,提交留言、留言的管理等相關操作。系統管理員可以實現以上的所有功能,還有對學生的添加、刪除、修改、教師的添加、刪除、修改,數據庫的備份、數據庫的還原等操作。</p><p>  根據開發要求,學生成績管理系統主要應用于教育系統,完成對日常的教學、教務、教師以及學生的計算

6、機化的管理。開發學生成績管理系統可使老師等減輕壓力,比較系統的對教務、教學上的各項服務和信息進行管理,同時,可以減少勞動力的使用,加快查詢速度,加強管理,以及國家各部門關于信息化的步伐,使各項管理更加規范化。目前,管理信息系統已經進入高校,但還未普及,而對于學生成績管理來說,目前還沒有一套完整的、統一的系統。因此,開發一套適合大眾的、兼容性好的系統是很有必要的。</p><p> ?。?)學生成績管理系統分為8個

7、模塊,分別是:添加學生信息,輸出學生成績,查找學生成績,修改學生成績,刪除學生成績,學生成績排序,保存數據到文件和讀取文件中學生成績的模塊。</p><p>  學生成績管理系統結構:</p><p>  各個子函數功能及其流程:</p><p>  首先定義一個學生類Class Student;并定義其各個私有變量和公有函數</p><p>

8、;  Student();構造函數,用于初始化學生類中的各個變量并記錄</p><p><b>  輸入學生信息:</b></p><p>  Add();函數:用于添加學生信息的函數包括學號姓名成績等的內容</p><p>  Output();函數:用于輸出學生信息,包括學號姓名各科及總分平均成績</p><p> 

9、 Find();函數:用于查找學生各項信息。</p><p>  modify();函數:用于修改學生各項信息。</p><p>  delete();函數:用于刪除學生信息。</p><p>  8.sort();函數:對學生各項信息進行排序操作。</p><p>  save()和load();函數:將學生信息保存到文件中,并在需要的時候

10、調用該文件將其中的學生信息顯示出來</p><p><b>  總體設計</b></p><p>  1.用結構框圖表示各個功能之間的關系。</p><p><b>  程序代碼:</b></p><p><b>  類的設計</b></p><p> 

11、 學生成績管理系統類的設計(第一個類)</p><p><b>  1.畫出類圖</b></p><p>  2.對類的函數成員的說明</p><p>  不用寫出代碼,用文字描述</p><p><b>  函數的首部</b></p><p>  插入函數,先進行成績的錄入

12、,輸入學生的姓名,學號,課程,成績即可。然后選擇課程,查詢即可。</p><p><b>  詳細設計</b></p><p><b>  工程視圖</b></p><p>  說明有幾個源代碼文件,可以截取工程文件視圖表示</p><p><b>  類圖視圖</b><

13、/p><p>  每個文件包含哪些類和函數,可以截圖說明</p><p><b>  主要算法的流程圖</b></p><p>  Main函數工作原理圖:</p><p><b>  查找函數:</b></p><p><b>  測試</b></p

14、><p>  程序的運行結果截圖:</p><p>  錄入學生成績信息后顯示如下:</p><p>  輸入4查看班級總分排名:</p><p>  輸入0安全退出系統:</p><p><b>  總結</b></p><p>  此課程設計完成了對學生成績的添加、刪除、修

15、改等功能的設計操作,并且為了插入和刪除方便,運用動態數組做存儲結構。此課程設計還包含了清屏功能以及退出功能。對程序在運行時輸入錯誤操作的修改,提供了一定方便條件基本上能安全的運行,具備的功能符合題目的要求。用了文件的操作,是此程序的最大優點。程序寫的還算簡練,結構清晰,各個模塊的分工和功能明確。</p><p>  經過兩周的課程設計,我認識到把課堂上老師講的知識運用到實際操作中的重要性。我這次課程設計的題目是學

16、生成績管理系統,在開始階段,根本無從下手,后來通過查閱一些相關資料和老師的耐心講解,最終成功完成整個程序的設計。通過這次課設我對C++語言中的類的定義、運算符重載等知識有了進一步的理解,對流程圖的畫法更加熟練,對程序的開發思路有了一定的理解,我想這在以后的學習和工作中都會有幫助的,更使我意識到了學習C++語言的重要性。</p><p>  程序中運用了多文件結構,雖然程序不是太大,但多文件結構的使用是我模仿正規軟

17、件的結構來寫的,我想這對我以后的提高有幫助。</p><p>  另外,對程序的不斷調試,是我的查錯能力有了很大的提高。</p><p>  附錄:學生成績管理系統#源代碼:</p><p>  此函數源代碼在Codeblocks環境下編譯通過。具體如下:</p><p>  #include<iostream ></p&g

18、t;<p>  #include<string ></p><p>  #include<cstdio></p><p>  #include<cstdlib></p><p>  using namespace std;</p><p>  class student{</p>

19、<p><b>  private:</b></p><p>  string name;</p><p><b>  long id;</b></p><p>  float Chinese;</p><p>  float math;</p><p>  fl

20、oat English;</p><p>  float sum;</p><p>  float ave;</p><p><b>  public:</b></p><p>  student();</p><p>  void input();</p><p>  v

21、oid show();</p><p>  void copy(student a);</p><p>  string NAME(){return name;}</p><p>  long ID(){return id;}</p><p>  float chi(){return Chinese;}</p><p>

22、;  float mat(){return math;}</p><p>  float eng(){return English;}</p><p>  float SUM(){return sum;}</p><p>  float AVE(){return ave;}</p><p><b>  };</b><

23、;/p><p>  void student::input(){</p><p>  cout<<"\t\t請輸入學生的姓名:";</p><p>  cin>>name;</p><p>  cout<<"\t\t請輸入學生的學號:";</p><p

24、><b>  cin>>id;</b></p><p>  cout<<"\t\t請輸入語文成績:";</p><p>  cin>>Chinese;</p><p>  cout<<"\t\t請輸入數學成績:";</p><p&g

25、t;  cin>>math;</p><p>  cout<<"\t\t請輸入英語成績:";</p><p>  cin>>English;</p><p>  sum=Chinese+math+English;</p><p>  ave=sum/3;</p><p

26、><b>  }</b></p><p>  student::student()</p><p><b>  {</b></p><p>  name="noname";</p><p><b>  id=0;</b></p><

27、p>  Chinese=0;</p><p><b>  math=0;</b></p><p>  English=0;</p><p><b>  sum=0;</b></p><p><b>  ave=0;</b></p><p><

28、b>  }</b></p><p>  void student::show()</p><p><b>  {</b></p><p>  cout<<"姓名:"<<name<<endl<<"學號:"<<id<<e

29、ndl<<"語文:"<<Chinese<<endl</p><p>  <<"數學:"<<math<<endl<<"英語:"<<English<<endl<<"總成績:"<<sum<<endl

30、<<"平均分:"<<ave<<endl<<endl;</p><p><b>  }</b></p><p>  void student::copy(student a)</p><p><b>  {</b></p><p> 

31、 name=a.NAME();</p><p>  id=a.ID();</p><p>  Chinese=a.chi();</p><p>  math=a.mat();</p><p>  English=a.eng();</p><p>  sum=a.SUM();</p><p>  

32、ave=a.AVE();</p><p><b>  }</b></p><p>  short showmenu()</p><p><b>  {</b></p><p>  short select;</p><p>  cout<<"******

33、**********************************************************"<<endl;</p><p>  cout<<"學 生 成 績 管 理 系 統 "<<endl;</p><p>  cout<<

34、"****************************************************************"<<endl;</p><p>  cout<<" 1.錄入學生成績 "<<endl;</p>&

35、lt;p>  cout<<" 2.查詢、修改學生成績 "<<endl;</p><p>  cout<<" 3.按總分排序 "<<endl

36、;</p><p>  cout<<" 4.班級總分 "<<endl;</p><p>  cout<<" 0.安全退出系統

37、"<<endl;</p><p>  cout<<"****************************************************************"<<endl;</p><p>  cout<<"\t\t請選擇:";</p><p>

38、  cin>>select;</p><p>  return select;</p><p><b>  }</b></p><p>  void find(student stu[]){</p><p><b>  string k;</b></p><p>

39、  short i,j;</p><p><b>  long n;</b></p><p><b>  short m;</b></p><p>  char q='n';</p><p>  cout<<"**************************

40、***************************************\n";</p><p>  cout<<"*\t\t\t1.按學號查找\t\t\t\t*\n";</p><p>  cout<<"*\t\t\t2.按姓名查找\t\t\t\t*\n";</p><p>  cou

41、t<<"*****************************************************************\n";</p><p><b>  cin>>m;</b></p><p><b>  if(m==1)</b></p><p><b

42、>  {</b></p><p>  cout<<"請輸入學號:";</p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  cin>>n;</b>&

43、lt;/p><p>  if(n>1&&n<12)</p><p><b>  {</b></p><p>  cout<<"輸入有誤!請重新輸入:";</p><p><b>  }</b></p><p><b

44、>  else</b></p><p><b>  break;</b></p><p><b>  }</b></p><p>  for(i=0;stu[i].ID()!=0;i++)</p><p><b>  {</b></p><

45、p>  if(n==stu[i].ID())</p><p>  stu[i].show();</p><p><b>  j=i;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  els

46、e if(m==2)</p><p><b>  {</b></p><p>  cout<<"請輸入姓名:";</p><p><b>  cin>>k;</b></p><p>  for(i=0;stu[i].ID()!=0;i++)</p&g

47、t;<p><b>  {</b></p><p>  if(k==stu[i].NAME())</p><p>  stu[i].show();</p><p><b>  j=i;</b></p><p><b>  }</b></p><

48、p><b>  }</b></p><p><b>  else</b></p><p>  cout<<"輸入的選項有誤!";</p><p>  cout<<"是否修改(Y/N):";</p><p><b>  c

49、in>>q;</b></p><p>  if(q=='y'||q=='Y')</p><p><b>  {</b></p><p>  stu[j].input();</p><p><b>  }</b></p><p

50、><b>  }</b></p><p>  void arrange(student stu[])</p><p><b>  {</b></p><p>  student temp;</p><p>  short i,j;</p><p>  for(i=0;s

51、tu[i].ID()!=0;i++)</p><p><b>  {</b></p><p>  for(j=i+1;stu[j].ID()!=0;j++)</p><p><b>  {</b></p><p>  if(stu[i].SUM()<stu[j].SUM())</p>

52、;<p><b>  {</b></p><p>  temp.copy(stu[i]);</p><p>  stu[i].copy(stu[j]);</p><p>  stu[j].copy(temp);</p><p><b>  }</b></p><p&

53、gt;<b>  }</b></p><p><b>  }</b></p><p>  for(i=0;stu[i].ID()!=0;i++)</p><p><b>  {</b></p><p>  stu[i].show();</p><p>&

54、lt;b>  }</b></p><p><b>  }</b></p><p>  void classave(student stu[])</p><p><b>  {</b></p><p>  float cla=0,a;</p><p><

55、b>  short i;</b></p><p>  for(i=0;stu[i].ID()!=0;i++)</p><p><b>  {</b></p><p>  cla+=stu[i].SUM();</p><p><b>  }</b></p><p&

56、gt;<b>  a=cla/i;</b></p><p>  cout<<"班級總分是:"<<a<<endl;</p><p>  cout<<"不及格的人是:"<<endl;</p><p>  for(i=0;stu[i].ID()!=0;

57、i++)</p><p><b>  {</b></p><p>  if(stu[i].AVE()<60)</p><p>  stu[i].show();</p><p><b>  }</b></p><p><b>  a/=3;</b>&

58、lt;/p><p>  cout<<"顯示平均分小于班級總平均分的學生:"<<endl;</p><p>  for(i=0;stu[i].ID()!=0;i++)</p><p><b>  {</b></p><p>  if(stu[i].AVE()<=a)</p

59、><p>  stu[i].show();</p><p><b>  }</b></p><p><b>  }</b></p><p>  int main()</p><p><b>  {</b></p><p>  stud

60、ent stu[100];</p><p><b>  short i;</b></p><p>  char temp='Y';</p><p>  short select;</p><p>  for(;select=showmenu();)</p><p><b>

61、;  {</b></p><p>  switch(select)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  for(i=0;i<100&&(temp!='N'&&

62、temp!='n');i++)</p><p><b>  {</b></p><p>  stu[i].input();</p><p>  cout<<"是否繼續(Y/N):"<<endl;</p><p>  cin>>temp;</p&

63、gt;<p><b>  }break;</b></p><p><b>  case 2:</b></p><p>  find(stu);</p><p><b>  break;</b></p><p><b>  case 3:</b>

64、;</p><p>  arrange(stu);</p><p><b>  break;</b></p><p><b>  case 4:</b></p><p>  classave(stu);</p><p><b>  break;</b>&

65、lt;/p><p><b>  }</b></p><p>  cout<<"按任意鍵繼續!"<<endl;</p><p>  getchar();</p><p>  getchar();</p><p>  system("cls"

溫馨提示

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

評論

0/150

提交評論