學生成績管理系統(tǒng)課程設計報告 (3)_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  學生成績管理系統(tǒng)</b></p><p><b>  課程設計報告</b></p><p><b>  功能描述</b></p><p>  此成績管理系統(tǒng)主要利用結構體數(shù)組實現(xiàn),由如下六個功能模塊實現(xiàn)</p><p>  輸入模塊。主要完成將學生

2、信息存入結構體數(shù)組的工作。(南云霞)</p><p>  刪除、修改模塊。主要完成對結構體數(shù)組中數(shù)據(jù)的刪除、修改工作。</p><p><b> ?。ㄙZ維尚)</b></p><p>  3、查詢、排序模塊。主要完成對結構體數(shù)組中數(shù)據(jù)的查詢、排序工作。</p><p><b> ?。ㄆ钋啵?lt;/b>&

3、lt;/p><p>  4、輸出模塊。主要完成對結構體數(shù)組中數(shù)據(jù)輸出的工作。(鄭金帥)</p><p><b>  二、總體設計</b></p><p><b>  1、功能模塊設計</b></p><p> ?。?)主函數(shù)main()執(zhí)行流程</p><p><b>

4、  開始</b></p><p><b>  輸出菜單</b></p><p>  根據(jù)表達式m m=0 </p><p><b>  的值選擇程序</b></p><p>  m=1 m=2 m=3 m=4 m=5 m=6 m

5、=7 m=8</p><p><b>  Y</b></p><p><b>  Y/N</b></p><p><b>  N</b></p><p><b>  結束</b></p><p> ?。?)輸入學生信息函數(shù)srx

6、sxx()流程</p><p><b>  開始1</b></p><p><b>  Y</b></p><p>  fp=fopen("list","wb"))==NULL</p><p><b>  N</b></p>

7、<p><b>  for循環(huán)</b></p><p><b>  將數(shù)據(jù)保存到</b></p><p><b>  list文件中</b></p><p><b>  結束</b></p><p>  添加學生信息函數(shù)tjxsxx()流程&l

8、t;/p><p><b>  開始2</b></p><p><b>  Y</b></p><p>  fp=fopen("list","wb"))==NULL</p><p><b>  N</b></p><p>

9、;<b>  for循環(huán)</b></p><p><b>  將數(shù)據(jù)保存到</b></p><p><b>  list文件中</b></p><p><b>  結束</b></p><p>  刪除學生信息函數(shù)scxsxx()流程</p>

10、<p><b>  開始3</b></p><p>  在list文件中讀入數(shù)據(jù)</p><p>  輸入學生的姓名或學號</p><p><b>  查找要刪除的學生</b></p><p><b>  輸出學生的信息</b></p><p&g

11、t;<b>  確定刪除該學生信息</b></p><p><b>  并執(zhí)行</b></p><p><b>  結束</b></p><p>  (5) 修改學生信息函數(shù)xgxsxx()流程</p><p><b>  開始4</b></p>

12、;<p>  在list文件中讀入數(shù)據(jù)</p><p>  輸入學生的姓名或學號</p><p><b>  查找要修改的學生</b></p><p><b>  輸出學生的信息</b></p><p><b>  確定修改該學生信息</b></p>

13、<p><b>  并執(zhí)行</b></p><p><b>  結束</b></p><p> ?。?)學生信息查詢函數(shù)xsxxcx()流程</p><p><b>  開始5</b></p><p>  在list文件中讀入數(shù)據(jù)</p><p&

14、gt;  輸入要查找學生的信息</p><p><b>  查找要需要的學生</b></p><p><b>  輸出學生的信息</b></p><p><b>  結束</b></p><p> ?。?)學生成績排序函數(shù)xscjpx()流程</p><p&

15、gt;<b>  開始6</b></p><p><b>  調出list文件</b></p><p><b>  中的數(shù)據(jù)</b></p><p>  Y 排序</p><p>  stu[j].average<stu[i].ave

16、rage</p><p><b>  N</b></p><p>  t=stu[j];stu[j]=stu[i];</p><p><b>  stu[i]=t;</b></p><p><b>  輸出學生信息</b></p><p><b&g

17、t;  結束</b></p><p> ?。?)掛科人數(shù)查詢函數(shù)gkrscx()流程</p><p><b>  開始7</b></p><p>  調出list文件數(shù)據(jù)</p><p><b>  N</b></p><p>  stu.avergae<6

18、0</p><p><b>  Y</b></p><p><b>  輸出</b></p><p><b>  結束</b></p><p> ?。?)輸出學生成績函數(shù)scxscj()流程</p><p><b>  開始8</b>

19、;</p><p>  在list文件中讀入數(shù)據(jù)</p><p><b>  確定有幾個學生信息</b></p><p><b>  輸出學生的信息</b></p><p><b>  結束</b></p><p><b>  三、數(shù)據(jù)結構設計

20、</b></p><p><b>  學生信息結構體數(shù)組</b></p><p>  struct student</p><p><b>  { </b></p><p>  int number; 學號</p><p>  char nam

21、e[8]; 姓名</p><p>  char sex[4]; 性別</p><p>  char Class[4]; 班級</p><p>  float math; 數(shù)學成績 </p><p>  float English; 英語成績</p><p

22、>  float physics; 物理成績</p><p>  float computer; 計算機成績</p><p>  float sum; 總成績</p><p>  float average; 平均成績</p><p>  }stu[100];</p>

23、<p><b>  四、函數(shù)功能描述</b></p><p>  1、void print()</p><p>  主要完成對主菜單的輸出功能。</p><p>  2、void srxsxx()</p><p>  主要完成對學生信息的輸入功能。將學生的信息存入結構體數(shù)組中。</p><p

24、>  void tjxsxx()</p><p>  主要完成在結構體數(shù)組中添加信息的功能。</p><p>  void scxsxx()</p><p>  主要完成對結構體中指定數(shù)據(jù)的刪除功能。</p><p>  void xgxsxx()</p><p>  主要完成對結構體中指定數(shù)據(jù)的重新輸入的功能。

25、</p><p>  void xsxxcx()</p><p>  主要完成對結構體中學生信息查詢的功能。</p><p>  void xscjpx()</p><p>  主要完成對結構體中學生總成績從大到小排序的功能。</p><p>  void gkrscx()</p><p>  

26、主要完成對結構體中各科成績低于60分的人數(shù)的統(tǒng)計的功能。</p><p>  void scxscj()</p><p>  主要完成對結構體中所有學生信息的輸出功能。</p><p><b>  五、程序實現(xiàn)</b></p><p><b>  1、源代碼分析</b></p><

27、;p><b> ?、懦绦蝾A處理</b></p><p>  包括加載頭文件,定義結構體、常量和變量,并對它們進行初始化工作。</p><p>  #include<stdio.h></p><p>  #include<string.h></p><p>  #include<ioma

28、nip.h></p><p>  #include<iostream.h></p><p><b>  分析:</b></p><p>  #include<stdio.h>引入標準輸入輸出函數(shù),以便完成一些c++中一些最基本的函數(shù)的功能。</p><p>  #include<str

29、ing.h>引入有關字符數(shù)組的函數(shù),以便在程序中運用相關函數(shù)。例如:在刪除學生信息函數(shù)中的strcmp函數(shù)if(strcmp(x,stu[i].name)==0||k==stu[i].number)</p><p>  #include<iomanip.h>引入一些常用的關于控制標準輸入輸出流的函數(shù),以便控制標準輸入輸出流。例如:在輸出時使用的setw(0)函數(shù)</p><

30、p>  cout<<setw(0)<<"The Students' Grade Management System"<<setw(5)<<endl;</p><p>  #include<iostream.h>引入標準輸入輸出流函數(shù),以便在程序中使用相關函數(shù),其實已經(jīng)有了iomanip.h頭文件就不用再使用此頭文件了。例

31、如:在輸入輸出時使用的cout與cin</p><p>  cout<<"學號:";cin>>stu[i].number;</p><p>  注:在此程序中,為了方便使用了c++中的標準輸入輸出流。與此相關的知識全部來源于網(wǎng)絡。</p><p> ?、浦骱瘮?shù)main()</p><p>  voi

32、d main()</p><p><b>  {</b></p><p>  int j,flag=0;</p><p>  print(); //打印出主菜單</p><p>  do //判斷輸入是否正確 </p><p><b>  { </

33、b></p><p><b>  cin>>j; </b></p><p>  if(j>=0&&j<=8)</p><p><b>  flag=1; </b></p><p><b>  else </b></p>

34、<p>  cout<<"指令錯誤!請重新輸入:"<<endl; </p><p><b>  }</b></p><p>  while(flag==0); </p><p>  while(j!=0)</p><p><b>  {</b>

35、</p><p>  if(j==1) //進入輸入學生信息系統(tǒng)</p><p><b>  srxsxx();</b></p><p>  else if(j==2) //進入添加學生信息系統(tǒng)</p><p><b>  tjxsxx();</b></p><p>

36、;  else if(j==3) //進入刪除學生信息系統(tǒng)</p><p><b>  scxsxx();</b></p><p>  else if(j==4) //進入修改學生信息系統(tǒng)</p><p><b>  xgxsxx();</b></p><p>  else if(j==5) //進

37、入學生成績查詢系統(tǒng)</p><p><b>  xsxxcx();</b></p><p>  else if(j==6) //進入學生成績排序系統(tǒng)</p><p><b>  xscjpx();</b></p><p>  else if(j==7) //進入掛科人數(shù)查詢系統(tǒng)</p>

38、<p><b>  gkrscx();</b></p><p>  else if(j==8) //進入輸出學生成績系統(tǒng)</p><p><b>  scxscj();</b></p><p>  cin>>j; //控制繼續(xù)操作還是退出管理系統(tǒng)</p><p>

39、<b>  }</b></p><p>  cout<<endl;</p><p>  cout<<"* * * * * * * * * * * * * * * * * * *"<<endl;</p><p>  cout<<setw(0)<<"*

40、 "<<"謝謝使用!"<<setw(0)<<" *"<<endl;</p><p>  cout<<setw(0)<<"* "<<" 再見! "<<setw(0)&

41、lt;<" *"<<endl;</p><p>  cout<<"* * * * * * * * * * * * * * * * * * *"<<endl;</p><p>  cout<<endl;}</p><p><b>  ⑶主菜單界

42、面</b></p><p>  void print() //定義界面函數(shù)</p><p><b>  {</b></p><p>  cout<<endl;</p><p>  cout<<setw(0)<<"The Students'

43、; Grade Management System"<<setw(5)<<endl;</p><p>  cout<<endl;</p><p>  cout<<"* * * * * * * * * * * * * * * * * * *"<<endl;</p><p>  c

44、out<<setw(0)<<"* "<<"1. 輸入學生信息 "<<setw(10)<<"*"<<endl;</p><p>  cout<<setw(0)<<"* "<<"2. 添

45、加學生信息 "<<setw(10)<<"*"<<endl;</p><p>  cout<<setw(0)<<"* "<<"3. 刪除學生信息 "<<setw(10)<<"*"<<endl;</

46、p><p>  cout<<setw(0)<<"* "<<"4. 修改學生信息 "<<setw(10)<<"*"<<endl;</p><p>  cout<<setw(0)<<"* "

47、;<<"5. 學生信息查詢 "<<setw(10)<<"*"<<endl;</p><p>  cout<<setw(0)<<"* "<<"6. 學生成績排序 "<<setw(10)<<"*"

48、;<<endl;</p><p>  cout<<setw(0)<<"* "<<"7. 掛科人數(shù)查詢 "<<setw(10)<<"*"<<endl;</p><p>  cout<<setw(0)<<&qu

49、ot;* "<<"8. 輸出學生成績 "<<setw(10)<<"*"<<endl;</p><p>  cout<<setw(0)<<"* "<<"0. 退出管理系統(tǒng) "<<setw(10)&

50、lt;<"*"<<endl;</p><p>  cout<<"* * * * * * * * * * * * * * * * * * *"<<endl;</p><p>  cout<<endl;</p><p>  cout<<setw(0)<<

51、"Please enter your choice(0~8):"<<setw(10)<<endl;</p><p>  cout<<endl;</p><p><b>  }</b></p><p>  注:其他8個函數(shù)不再一一列舉,每一個函數(shù)都是一個獨立的模塊,分別完成各自的任務。<

52、;/p><p><b>  六、運行結果</b></p><p>  1、顯示主界面(學生成績管理系統(tǒng)主菜單)</p><p><b>  2、輸入學生信息</b></p><p><b>  3、刪除學生信息</b></p><p><b>  

53、5、修改學生信息</b></p><p><b>  6、學生信息查詢</b></p><p>  7、顯示全部學生總成績排序</p><p><b>  8、顯示掛科人數(shù)</b></p><p>  9、顯示所有學生信息</p><p><b>  退

54、出程序界面</b></p><p><b>  七、設計小結</b></p><p>  優(yōu)點:簡潔明了、界面整潔、使用了漢字的菜單、使用比較方便、經(jīng)過很多次調試后解決了很多漏洞。</p><p>  缺點:不夠人性化、很多功能的缺失、存在很多漏洞(比如:班級中不能輸入數(shù)字;如果學號太長的話就不能夠對齊;只允許輸入100個學生信息;

溫馨提示

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

評論

0/150

提交評論