學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告 (3)_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

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

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

4、  開始</b></p><p><b>  輸出菜單</b></p><p>  根據(jù)表達(dá)式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>  結(jié)束</b></p><p> ?。?)輸入學(xué)生信息函數(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>  結(jié)束</b></p><p>  添加學(xué)生信息函數(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>  結(jié)束</b></p><p>  刪除學(xué)生信息函數(shù)scxsxx()流程</p>

10、<p><b>  開始3</b></p><p>  在list文件中讀入數(shù)據(jù)</p><p>  輸入學(xué)生的姓名或?qū)W號(hào)</p><p><b>  查找要?jiǎng)h除的學(xué)生</b></p><p><b>  輸出學(xué)生的信息</b></p><p&g

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

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

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

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

15、gt;<b>  開始6</b></p><p><b>  調(diào)出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>  輸出學(xué)生信息</b></p><p><b&g

17、t;  結(jié)束</b></p><p>  (8)掛科人數(shù)查詢函數(shù)gkrscx()流程</p><p><b>  開始7</b></p><p>  調(diào)出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>  結(jié)束</b></p><p> ?。?)輸出學(xué)生成績函數(shù)scxscj()流程</p><p><b>  開始8</b>

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

20、</b></p><p><b>  學(xué)生信息結(jié)構(gòu)體數(shù)組</b></p><p>  struct student</p><p><b>  { </b></p><p>  int number; 學(xué)號(hào)</p><p>  char nam

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

22、>  float physics; 物理成績</p><p>  float computer; 計(jì)算機(jī)成績</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>  主要完成對(duì)主菜單的輸出功能。</p><p>  2、void srxsxx()</p><p>  主要完成對(duì)學(xué)生信息的輸入功能。將學(xué)生的信息存入結(jié)構(gòu)體數(shù)組中。</p><p

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

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

26、主要完成對(duì)結(jié)構(gòu)體中各科成績低于60分的人數(shù)的統(tǒng)計(jì)的功能。</p><p>  void scxscj()</p><p>  主要完成對(duì)結(jié)構(gòu)體中所有學(xué)生信息的輸出功能。</p><p><b>  五、程序?qū)崿F(xiàn)</b></p><p><b>  1、源代碼分析</b></p><

27、;p><b>  ⑴程序預(yù)處理</b></p><p>  包括加載頭文件,定義結(jié)構(gòu)體、常量和變量,并對(duì)它們進(jìn)行初始化工作。</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>引入標(biāo)準(zhǔn)輸入輸出函數(shù),以便完成一些c++中一些最基本的函數(shù)的功能。</p><p>  #include<str

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

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

31、如:在輸入輸出時(shí)使用的cout與cin</p><p>  cout<<"學(xué)號(hào):";cin>>stu[i].number;</p><p>  注:在此程序中,為了方便使用了c++中的標(biāo)準(zhǔn)輸入輸出流。與此相關(guān)的知識(shí)全部來源于網(wǎng)絡(luò)。</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<<"指令錯(cuò)誤!請重新輸入:"<<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) //進(jìn)入輸入學(xué)生信息系統(tǒng)</p><p><b>  srxsxx();</b></p><p>  else if(j==2) //進(jìn)入添加學(xué)生信息系統(tǒng)</p><p><b>  tjxsxx();</b></p><p>

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

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

38、<p><b>  gkrscx();</b></p><p>  else if(j==8) //進(jìn)入輸出學(xué)生成績系統(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> ?、侵鞑藛谓?/p>

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. 輸入學(xué)生信息 "<<setw(10)<<"*"<<endl;</p><p>  cout<<setw(0)<<"* "<<"2. 添

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

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

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

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

49、ot;* "<<"8. 輸出學(xué)生成績 "<<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個(gè)函數(shù)不再一一列舉,每一個(gè)函數(shù)都是一個(gè)獨(dú)立的模塊,分別完成各自的任務(wù)。<

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

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

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

溫馨提示

  • 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論