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

下載本文檔

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

文檔簡介

1、<p>  大 連 科 技 學 院</p><p>  面向?qū)ο蟪绦蛟O計(A)課程設計</p><p>  題 目 學生成績管理系統(tǒng) </p><p>  學生姓名  專業(yè)班級 網(wǎng)絡工程09-1 </p><p>  指導教師 職

2、 稱  講師  </p><p>  所在單位 信息科學系軟件工程教研室 </p><p>  教學部主任 </p><p>  完成日期 2012年9月14日</p><p><b>  課程設計報告單</b></p>

3、<p>  《面向?qū)ο蟪绦蛟O計(A)課程設計》任務書</p><p>  一、課程設計任務及要求:</p><p>  任務:針對小型信息管理系統(tǒng)或若干綜合性設計題目,選擇一種軟件開發(fā)模型,完成從需求分析、系統(tǒng)設計、系統(tǒng)實現(xiàn),軟件測試的全過程。</p><p><b>  要求:</b></p><p>  (

4、1) 根據(jù)軟件系統(tǒng)開發(fā)的一般原則,完成相應系統(tǒng)的功能設計,完成主要功能模塊的程序?qū)崿F(xiàn)并進行測試訓練,給出代碼運行結(jié)果和相應的設計文檔。可以分組進行,但所有學生必須經(jīng)歷整個系統(tǒng)的開發(fā)全過程,以便加深對系統(tǒng)開發(fā)全過程的認識。</p><p> ?。?)提交課程設計報告。</p><p> ?。?)指標: 要求完成課程設計報告3000字以上(約二十頁);完成所設計的題目,設計題目的語句行數(shù)的和在

5、200行語句以上。</p><p><b>  二、工作量</b></p><p>  2周(10個工作日)時間</p><p><b>  三、計劃安排</b></p><p>  第1個工作日:查找相關資料、書籍,閱讀示例文檔,選擇題目。</p><p>  第2個工作日

6、-第4個工作日:設計程序結(jié)構、模塊圖。</p><p>  第5個工作日-第9個工作日:完成程序的編碼,并且自己調(diào)試、測試。穿插進行課程設計報告的撰寫。</p><p>  第10個工作日:上交課程設計報告,由教師檢查軟件測試效果、檢查課程設計報告,給出學生成績。</p><p><b>  指導教師簽字:</b></p><

7、;p><b>  2012年9月3日</b></p><p><b>  目錄</b></p><p>  大 連 科 技 學 院1</p><p><b>  題目:1</b></p><p><b>  1.需求分析1</b></p&

8、gt;<p><b>  2.概要設計1</b></p><p><b>  3.詳細設計1</b></p><p><b>  4.編碼2</b></p><p><b>  5.調(diào)試分析3</b></p><p>  6.測試結(jié)果

9、及運行效果3</p><p>  7.系統(tǒng)開發(fā)所用到的技術5</p><p>  8.課程設計總結(jié)5</p><p><b>  參考文獻6</b></p><p><b>  附錄 全部代碼6</b></p><p><b>  題目:</b>

10、;</p><p>  學生成績管理系統(tǒng)分析與設計</p><p><b>  1.需求分析</b></p><p>  學校的學生成績信息管理是學校管理中的一項重要任務,以往的手工操作已經(jīng)不能適應現(xiàn)在辦公的需要.為了擺脫繁瑣的勞動,提高工作效率,利用計算機進行信息處理成為必然.開發(fā)功能完善及安全可靠的管理系統(tǒng)可以大大提高學校資源的利用率,及時

11、,準確地獲取需要的信息,充分發(fā)揮人員的工作潛力。因此,不難想象,正是咨詢業(yè)的迅速發(fā)展使得人們從過去的手工勞動中得以解脫.同時,編寫一套完善的學生成績管理系統(tǒng)的任務就顯得尤為重要。</p><p>  軟件開發(fā)的意圖為便于學校的管理,方便查看有關學校及學生的情況。</p><p>  如教務處對學生成績的修改、刪除、查找、添加等。</p><p><b> 

12、 2.概要設計</b></p><p>  設計一個學生成績管理系統(tǒng),使之能完成以下功能:</p><p><b>  ①信息錄入功能</b></p><p><b> ?、谛畔⒉樵児δ?lt;/b></p><p><b>  ③信息刪除功能</b></p>

13、<p><b>  ④信息修改功能</b></p><p><b> ?、菪畔g覽功能</b></p><p>  使用的關于學生信息的信息</p><p><b>  表2-1 學生表</b></p><p><b>  3.詳細設計</b>

14、;</p><p><b>  3.1功能模塊:</b></p><p>  根據(jù)需求得到系統(tǒng)功能模塊如圖</p><p><b>  圖3-1 功能圖</b></p><p><b>  3.2數(shù)據(jù)結(jié)構</b></p><p>  本系統(tǒng)中主要的數(shù)據(jù)結(jié)

15、構就是學生成績信息,包含學號,姓名,三門課程成績,總分,平均分。</p><p>  3.3程序中包含的方法</p><p> ?、賤oid create(S *s) 創(chuàng)建學生信息</p><p>  ②void add(S *s) 增加學生信息</p><p> ?、踲oid deletes(S *s) 刪除學生信息</p>

16、<p> ?、躹oid alter(S *s) 修改學生信息</p><p> ?、輛oid find(S *s) 查找學生信息</p><p>  ⑥void print_infor(S *s,int pnumber) 打印學生信息 </p><p><b>  3.3程序流程</b></p><p>

17、;  系統(tǒng)的執(zhí)行應從系統(tǒng)菜單的選擇開始,根據(jù)用戶的選擇來進行后續(xù)的處理,直到用戶選擇退出系統(tǒng)為止,期間應對用戶的選擇做出判斷及異常處理,系統(tǒng)的流程圖如下</p><p><b>  否</b></p><p><b>  否</b></p><p><b>  否</b></p><

18、;p>  是 否 </p><p><b>  是</b></p><p>  是否</p><p><b>  是</b></p><p><b>  是</b></p><p>

19、  圖3-3 程序流程圖</p><p><b>  4.編碼</b></p><p>  應用主流語言C++設計,開發(fā)環(huán)境為visual studio 2008.</p><p><b>  struct S</b></p><p><b>  {</b></p>

20、<p>  int ID,index;</p><p>  string name;</p><p>  double m,e,c,sum;</p><p>  float avg;</p><p><b>  };</b></p><p>  S student[100];<

21、/p><p><b>  5.調(diào)試分析</b></p><p>  本程序是一學生成績管理系統(tǒng),其中成績表包括學生編號,姓名,性別,以及各門課的成績等。</p><p>  在調(diào)試中因為采用分塊的設計方法所以靠采用傳遞數(shù)組首地址的方式傳參,如果忽略此問題將導致程序運行不成功。</p><p>  6.測試結(jié)果及運行效果<

22、;/p><p><b>  主界面</b></p><p><b>  圖 6-1</b></p><p>  表 6-1 測試輸入數(shù)據(jù)</p><p><b>  測試輸入界面</b></p><p><b>  圖 6-2</b>&

23、lt;/p><p>  表 6-2 測試增加數(shù)據(jù)</p><p><b>  測試增加數(shù)據(jù)</b></p><p><b>  圖 6-3</b></p><p><b>  測試刪除數(shù)據(jù)</b></p><p><b>  圖 6-4</b

24、></p><p>  表 6-3 測試修改數(shù)據(jù)</p><p><b>  測試修改數(shù)據(jù)</b></p><p><b>  圖 6-5</b></p><p><b>  測試查找數(shù)據(jù)</b></p><p><b>  圖 6-6&

25、lt;/b></p><p>  7.系統(tǒng)開發(fā)所用到的技術</p><p>  使用c++面向?qū)ο笳Z言開發(fā),代碼中使用了for,while,if,switch等循環(huán)判斷語句,主函數(shù)依次調(diào)用外圍函數(shù),各個函數(shù)之間使用數(shù)組首地址傳遞,各個模塊之間堅持高內(nèi)聚低耦合的原則,最大程度上改善本軟件的健壯性和可修改性。</p><p><b>  8.課程設計總結(jié)

26、</b></p><p>  課程設計結(jié)束了,在這次的課程設計中不僅檢驗了我所學習的知識,也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在設計過程中,與同學分工設計,和同學們相互探討,相互學習,相互監(jiān)督。學會了合作,學會了運籌帷幄,學會了寬容,學會了理解,也學會了做人與處世。</p><p>  課程設計是我們專業(yè)課程知識綜合應用的實踐訓練,著是我們邁向社

27、會,從事職業(yè)工作前一個必不少的過程.”千里之行始于足下”,通過這次課程設計,我深深體會到這句千古名言的真正含義.我今天認真的進行課程設計,學會腳踏實地邁開這一步,就是為明天能穩(wěn)健地在社會大潮中奔跑打下堅實的基礎.</p><p>  通過這次學生成績管理系統(tǒng)設計,本人在多方面都有所提高。通過這次學生成績管理系統(tǒng)設計,綜合運用本專業(yè)所學課程的理論和生產(chǎn)實際知識進行一次軟件設計工作的實際訓練從而培養(yǎng)和提高學生獨立工作

28、能力,鞏固與擴充了軟件設計等課程所學的內(nèi)容,掌握軟件設計的方法和步驟,掌握怎樣確定工藝方案,了解了軟件的基本結(jié)構,提高了計算能力,繪圖能力,熟悉了規(guī)范和標準,同時各科相關的課程都有了全面的復習,獨立思考的能力也有了提高。</p><p>  在這次設計過程中,體現(xiàn)出自己單獨設計軟件的能力以及綜合運用知識的能力,體會了學以致用、突出自己勞動成果的喜悅心情,從中發(fā)現(xiàn)自己平時學習的不足和薄弱環(huán)節(jié),從而加以彌補。<

29、/p><p>  在此感謝我們的劉瑞杰老師.,老師嚴謹細致、一絲不茍的作風一直是我工作、學習中的榜樣;老師循循善誘的教導和不拘一格的思路給予我無盡的啟迪;這次軟件設計的每個實驗細節(jié)和每個數(shù)據(jù),都離不開老師您的細心指導。而您開朗的個性和寬容的態(tài)度,幫助我能夠很順利的完成了這次課程設計。</p><p>  同時感謝對我?guī)椭^的同學們,謝謝你們對我的幫助和支持,讓我感受到同學的友誼。 <

30、;/p><p>  由于本人的設計能力有限,在設計過程中難免出現(xiàn)錯誤,懇請老師們多多指教,我十分樂意接受你們的批評與指正,本人將萬分感謝。</p><p><b>  參考文獻</b></p><p>  [1] Visual C++程序開發(fā)范例寶典 人民郵電出版社 曹飛飛</p><p>  [2] :Visual C++

31、從入門到精通(第2版) 化學工業(yè)出版社 劉丹</p><p>  [3] Visual C++與面向?qū)ο蟪绦蛟O計教程 高等教育出版社 馮博琴</p><p><b>  附錄 全部代碼</b></p><p>  #include "stdafx.h"</p><p>  #include <i

32、ostream></p><p>  #include <stdlib.h></p><p>  #include <string> </p><p>  using namespace std;</p><p><b>  struct S</b></p><p>

33、<b>  {</b></p><p>  int ID,index;</p><p>  string name;</p><p>  double m,e,c,sum;</p><p>  float avg;</p><p><b>  };</b></p>

34、<p>  S student[100];</p><p>  int count=0;</p><p>  void create(S *s)</p><p><b>  {</b></p><p>  system("cls");</p><p>  cout

35、<<endl<<endl<<endl;</p><p>  string over;</p><p>  for(count=0;count<=100;count++)</p><p>  {system("cls");</p><p>  cout<<"請輸

36、入學號: ";cin>>s[count].ID;cout<<endl;</p><p>  cout<<"請輸入姓名: ";cin>>s[count].name;cout<<endl;</p><p>  cout<<"請輸入數(shù)學成績 ";cin>

37、>s[count].m;cout<<endl;</p><p>  cout<<"請輸入英語成績 ";cin>>s[count].e;cout<<endl;</p><p>  cout<<"請輸入C++ 成績 ";cin>>s[count].c;cout

38、<<endl;</p><p>  int c_sum=s[count].m+s[count].e+s[count].c;</p><p>  float c_avg=c_sum/3;</p><p>  s[count].sum=c_sum;s[count].avg=c_avg;</p><p>  s[count].ind

39、ex=count;</p><p>  cout<<" go繼續(xù)輸入或over退出 "<<endl;cin>>over;</p><p>  if(over!="go") break;</p>

40、<p><b>  };</b></p><p><b>  };</b></p><p>  void print_infor(S *s,int pnumber)</p><p><b>  {</b></p><p>  system("cls&quo

41、t;);</p><p>  if(pnumber<=count&&s[pnumber].name!="null")</p><p><b>  {</b></p><p>  cout<<endl<<endl<<endl;</p><p>

42、  cout<<" ***********************************"<<endl;</p><p>  cout<<" ** 索引號: "<<s[pnumbe

43、r].index<<endl;</p><p>  cout<<" ** **"<<endl;</p><p>  cout<<"

44、 ** 學號: "<<s[pnumber].ID<<endl;</p><p>  cout<<" ** **"<<endl;</p><p>  cout<&

45、lt;" ** 姓名: "<<s[pnumber].name<<endl;</p><p>  cout<<" -----------------------------------"<&

46、lt;endl;</p><p>  cout<<" ** 數(shù)學成績 "<<s[pnumber].m<<endl;</p><p>  cout<<" **

47、 **"<<endl;</p><p>  cout<<" ** 英語成績 "<<s[pnumber].e<<endl;</p><p>  cout<<"

48、 ** **"<<endl;</p><p>  cout<<" ** C++ 成績 "<<s[pnumber].c<<endl;</p>

49、<p>  cout<<" ** **"<<endl;</p><p>  cout<<" ** 總成績 "<<

50、;s[pnumber].sum<<endl;</p><p>  cout<<" ** **"<<endl;</p><p>  cout<<"

51、 ** 平均成績 "<<s[pnumber].avg<<endl;</p><p>  cout<<" ***********************************"<<endl;</p><p>  co

52、ut<<" 操作成功"<<endl;</p><p><b>  }</b></p><p>  else{cout<<"

53、 查無此人"<<endl;};</p><p>  cout<<" 輸入任意字母繼續(xù)操作"<<endl;</p><p>  string back ;cin>>

54、back;</p><p><b>  };</b></p><p>  void add(S *s)</p><p><b>  {</b></p><p>  system("cls");</p><p>  cout<<endl<&

55、lt;endl<<endl;</p><p>  if(count==0)</p><p><b>  {</b></p><p>  s[count].index=count;</p><p>  cout<<"請輸入學號: ";cin>>s[count].I

56、D;cout<<endl;</p><p>  cout<<"請輸入姓名: ";cin>>s[count].name;cout<<endl;</p><p>  cout<<"請輸入數(shù)學成績 ";cin>>s[count].m;cout<<endl;<

57、;/p><p>  cout<<"請輸入英語成績 ";cin>>s[count].e;cout<<endl;</p><p>  cout<<"請輸入C++ 成績 ";cin>>s[count].c;cout<<endl;</p><p> 

58、 int a_sum=s[count].m+s[count].e+s[count].c;</p><p>  float a_avg=a_sum/3;</p><p>  s[count].sum=a_sum;s[count].avg=a_avg;</p><p>  print_infor(s,count);</p><p><

59、;b>  };</b></p><p><b>  ++count;</b></p><p>  s[count].index=count;</p><p>  cout<<"請輸入學號: ";cin>>s[count].ID;cout<<endl;</p>

60、;<p>  cout<<"請輸入姓名: ";cin>>s[count].name;cout<<endl;</p><p>  cout<<"請輸入數(shù)學成績 ";cin>>s[count].m;cout<<endl;</p><p>  cout<

61、<"請輸入英語成績 ";cin>>s[count].e;cout<<endl;</p><p>  cout<<"請輸入C++ 成績 ";cin>>s[count].c;cout<<endl;</p><p>  int a_sum=s[count].m+s[cou

62、nt].e+s[count].c;</p><p>  float a_avg=a_sum/3;</p><p>  s[count].sum=a_sum;s[count].avg=a_avg;</p><p>  print_infor(s,count);</p><p><b>  };</b></p&g

63、t;<p>  void deletes(S *s)</p><p><b>  {</b></p><p>  system("cls");</p><p>  cout<<endl<<endl<<endl;</p><p>  int dnumbe

64、r,di;</p><p>  cout<<"請輸入要刪除的學號 ";</p><p>  cin>>dnumber;</p><p>  for(di=0;di<=count;di++)</p><p><b>  {</b></p>

65、<p>  if(dnumber==s[di].ID) break;</p><p><b>  };</b></p><p>  if(di<=count)</p><p><b>  {</b></p><p>  s[di].name="null";<

66、/p><p>  cout<<" 刪除成功"<<endl;</p><p>  }else{cout<<" 刪除失敗"<<endl;};</p><p>  cout<<"

67、 輸入任意字母返回主界面"<<endl;</p><p>  string back ;cin>>back;</p><p><b>  };</b></p><p>  void find(S *s)</p><p&

68、gt;<b>  {</b></p><p>  system("cls");</p><p>  cout<<endl<<endl<<endl;</p><p><b>  int fi=0;</b></p><p>  int fnumbe

69、r;</p><p>  cout<<"請輸入要查找的學號:";</p><p>  cin>>fnumber;</p><p>  for(fi=0;fi<=count;fi++)</p><p><b>  {</b></p><p>  if

70、(fnumber==s[fi].ID) {print_infor(s,fi);break;};</p><p><b>  };</b></p><p>  if(fi>count){cout<<" 查無此人"<<endl;};</p><p>  cout<

71、;<" 輸入任意字母返回主界面"<<endl;</p><p>  string back ;cin>>back;</p><p><b>  };</b></p><p>  void alte

72、r(S *s)</p><p><b>  {</b></p><p>  system("cls");</p><p>  int anumber;int ai=0;</p><p>  cout<<"請輸入要修改的學號: ";</

73、p><p>  cin>>anumber;</p><p>  for(ai=0;ai<=count;ai++)</p><p><b>  {</b></p><p>  if(anumber==s[ai].ID) break;</p><p><b>  };</

74、b></p><p>  print_infor(s,ai);</p><p>  cout<<"修改:"<<endl;</p><p>  cout<<"請輸入學號: ";cin>>s[ai].ID;cout<<endl;</p><p

75、>  cout<<"請輸入姓名: ";cin>>s[ai].name;cout<<endl;</p><p>  cout<<"請輸入數(shù)學成績 ";cin>>s[ai].m;cout<<endl;</p><p>  cout<<"請輸入英

76、語成績 ";cin>>s[ai].e;cout<<endl;</p><p>  cout<<"請輸入C++ 成績 ";cin>>s[ai].c;cout<<endl;</p><p>  print_infor(s,ai);</p><p><b>

77、;  };</b></p><p>  void main()</p><p><b>  {</b></p><p>  while(true)</p><p><b>  {</b></p><p>  system("cls");<

78、/p><p>  cout<<endl<<endl<<endl;</p><p>  cout<<" 歡迎進入學生成績管理程序"<<endl<<endl<<endl<<endl;</

79、p><p>  cout<<"******************************************* 主菜單 *****************************************************"<<endl;</p><p>  cout<<"**

80、 **"<<endl;</p><p>  cout<<"** ① 錄入記錄

81、 **"<<endl;</p><p>  cout<<"**

82、 **"<<endl;</p><p>  cout<<"** ② 增加記錄 **"<<end

83、l;</p><p>  cout<<"** **"<<endl;</p><p>  cout<<&q

84、uot;** ③ 刪除記錄 **"<<endl;</p><p>  cout<<"**

85、 **"<<endl;</p><p>  cout<<"** ④ 修改記錄

86、 **"<<endl;</p><p>  cout<<"** **"

87、<<endl;</p><p>  cout<<"** ⑤ 查找記錄 **"<<endl;</p><p>  cout<&l

88、t;"** **"<<endl;</p><p>  cout<<"** ⑥ 退出

89、 **"<<endl;</p><p>  cout<<"***************************************************************************

90、**********************************************"<<endl;</p><p>  cout<<endl<<endl<<endl;</p><p>  cout<<"請選擇功能: ";</p><p>  

91、int chioce=0;</p><p>  cin>>chioce;</p><p>  switch(chioce)</p><p><b>  {</b></p><p>  case 1: create(student);break;</p><p>  case 2: ad

92、d(student);break;</p><p>  case 3: deletes(student);;break;</p><p>  case 4: alter(student);break;</p><p>  case 5: find(student);break;</p><p>  case 6: exit(0);break;

溫馨提示

  • 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

提交評論