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

下載本文檔

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

文檔簡介

1、<p><b>  C++程序設(shè)計</b></p><p><b>  課程設(shè)計報告</b></p><p>  選題名稱:       學生成績管理系統(tǒng)           

2、0;   </p><p>  系(院):       計算機科學與信息技術(shù)                     

3、;</p><p>  專    業(yè):         計算機科學與技術(shù)                </p><p>

4、  班    級:           08級一班                 </p><p>  姓 

5、60;   名:          學  號:          </p><p>  2011    年 1 月 8   日

6、</p><p>  摘 要:計算機已經(jīng)成為我們學習和工作的得力助手。今天,計算機的價格已經(jīng)十分低廉,性能有了長足的進步,它已經(jīng)被應(yīng)用于許多領(lǐng)域。另外,信息技術(shù)在管理方面也有了越來越深入而廣泛的應(yīng)用,信息管理系統(tǒng)的實施在技術(shù)上已逐步成熟。信息管理系統(tǒng)是一個不斷發(fā)展的新型學科,任何一個單位要生存要發(fā)展,要高效率地把內(nèi)部活動有機地組織起來,就必須建立與自身特點相適應(yīng)的信息管理系統(tǒng)。尤其是在學校里,要處理海量的學生數(shù)據(jù)

7、相當麻煩,為了解決傳統(tǒng)學生成績管理所面臨著的這些問題,學生成績管理系統(tǒng)也就應(yīng)運而生了。</p><p>  本文闡述了學生成績管理工作與信息化緊密結(jié)合的管理系統(tǒng)的背景和意義,對該系統(tǒng)的總體結(jié)構(gòu)和各功能模塊進行了詳細的論述。系統(tǒng)包括了學生成績查詢模塊、學生成績修改和錄入模塊、學生成績求總和排序模塊等等。在各個功能模塊中對各種信息進行編輯,具體包括添加、修改、刪除、查詢等基本操作。把學生成績管理簡單化,以節(jié)省更多的人

8、力和不必要的工作。</p><p>  關(guān)鍵詞:學生成績管理系統(tǒng);VC++6.0;指針,鏈表,類,文件存儲與讀取</p><p>  Abstract:The computer has become our right-hand man to study and work. Today, the price of computers has been very low, the perfo

9、rmance has made substantial progress, it has been used in many fields. In addition, the management of information technology has also been growing in depth and a wide range of applications, information management system

10、for the implementation of technology has gradually matured. Information management system is a new subject, any one unit to survive and develop, to the</p><p><b>  朗讀</b></p><p>  顯示

11、對應(yīng)的拉丁字符的拼音</p><p>  字典 - 查看字典詳細內(nèi)容</p><p><b>  目 錄</b></p><p><b>  1系統(tǒng)概述3</b></p><p>  1.1系統(tǒng)的設(shè)計需求3</p><p>  1.2 系統(tǒng)的功能模塊劃分3</p&

12、gt;<p><b>  2需求分析3</b></p><p>  2.1系統(tǒng)需求分析3</p><p>  2.2系統(tǒng)數(shù)據(jù)流圖4</p><p>  2.3系統(tǒng)功能介紹4</p><p>  2.4系統(tǒng)功能模塊圖5</p><p><b>  3詳細設(shè)計5&l

13、t;/b></p><p>  3.1程序設(shè)計原理5</p><p>  3.2主要代碼描述5</p><p>  3.3各功能模塊代碼15</p><p><b>  4系統(tǒng)測試21</b></p><p>  4.1調(diào)試過程21</p><p>  4.

14、2調(diào)試結(jié)果說明26</p><p><b>  結(jié)束語26</b></p><p><b>  參考文獻26</b></p><p><b>  1系統(tǒng)概述</b></p><p>  該系統(tǒng)實現(xiàn)對若干大學生的學習成績進行管理,能實現(xiàn)按學期、按班級完成對學生成績的錄入、修

15、改,能按班級統(tǒng)計學生的成績,求學生的總分及平均分,并能根據(jù)學生的平均成績進行排序能查詢學生成績,不及格科目及學生名單,能按班級輸出學生的成績單等。</p><p>  1.1系統(tǒng)的設(shè)計需求</p><p>  整個系統(tǒng)用VC++進行實現(xiàn),用指針、鏈表來實現(xiàn)學生成績的數(shù)據(jù)結(jié)構(gòu)設(shè)計,系統(tǒng)具有錄入、修改、求總、求平均分、輸出等功能。系統(tǒng)的各個功能模塊都用類的形式來實現(xiàn),可以將學生成績按照分數(shù)的高

16、低進行排序。</p><p>  1.2 系統(tǒng)的功能模塊劃分</p><p>  每一條記錄包含一個學生的姓名、成績,同時包含:能按學期、按班級完成對學生成績的錄入、修改;能按班級統(tǒng)計學生的成績,求學生的總分及平均分,并能根據(jù)學生的平均成績進行排序;能查詢學生成績,不及格科目及學生名單;能按班級輸出學生的成績單。</p><p><b>  2需求分析&l

17、t;/b></p><p>  在21世紀的科技時代,科學技術(shù)突飛猛進,計算機已經(jīng)不僅是在科技上應(yīng)用,而且在生活中也是同樣得到了廣泛的應(yīng)用。如今,不管是小學、初中、高中、甚至是很多大學生的學生成績管理基本上是靠人工進行管理,但隨著時間的變化,學校規(guī)模的擴大,有關(guān)學生成績管理工作和所涉及到的數(shù)據(jù)量越來越大,越來越多,大多數(shù)學校不得不靠增加人力、物力、財力來進行學生成績管理。但是人工管理成績檔案具有效率低、查找

18、麻煩、可靠性不高、保密性低等因素。因此開發(fā)出一個適用于大中專院校以及其它高校通用的學生成績管理系統(tǒng)是必要的。本系統(tǒng)結(jié)構(gòu)包括學生信息管理、教師信息管理,課程信息管理以及學生成績信息管理4大部分。</p><p><b>  2.1系統(tǒng)需求分析</b></p><p>  本系統(tǒng)是一個學生成績管理系統(tǒng),采用VC++6.0編譯器作為開發(fā)環(huán)境,這個環(huán)境是我們學習C++的平臺

19、。將學生信息保存在文本文檔中,具有數(shù)據(jù)輸入功能,輸入的數(shù)據(jù)最終保存在文件中;具有數(shù)據(jù)刪除功能,能最終從文件中刪除;</p><p>  排序功能,根據(jù)自己設(shè)計的數(shù)據(jù)結(jié)構(gòu),設(shè)計排序算法;具有按學期、按班級查詢及輸出功能;各種統(tǒng)計功能,統(tǒng)計每個學生的平均分;學生信息的修改,修改學生某門課程的成績。</p><p><b>  2.2系統(tǒng)數(shù)據(jù)流圖</b></p>

20、<p><b>  2.3系統(tǒng)功能介紹</b></p><p>  “學生成績管理信息系統(tǒng)”主要分為學生瀏覽和后臺管理兩個子系統(tǒng)。</p><p>  設(shè)計主要功能:能按學期、按班級完成對學生成績的錄入、修改;能按班級統(tǒng)計學生的成績,求學生的總分及平均分,并能根據(jù)學生的平均成績進行排序;能查詢學生成績,不及格科目及學生名單;能按班級輸出學生的成績單。 &

21、lt;/p><p>  2.4系統(tǒng)功能模塊圖</p><p>  “學生成績管理系統(tǒng)”系統(tǒng)主模塊功能圖</p><p><b>  3詳細設(shè)計</b></p><p><b>  3.1程序設(shè)計原理</b></p><p>  采用C++程序設(shè)計語言,從鍵盤輸入學生的基本信息(學

22、號,姓名,英語成績,高數(shù)成績),計算每個學生的平均成績,并將數(shù)據(jù)存入文件student.txt中。按如下格式輸出大于等于平均成績的學生信息: 學號 姓名 英語 數(shù)學 C++ 平均成績。提供按學期、按班級進行查詢的功能。盡可能使用運算符重載以簡化操作。使用多文件結(jié)構(gòu)和菜單操作,并考慮相應(yīng)的操作權(quán)限(每個教師輸入“自己的學生”的“某門課程”的成績,而其他學生的其他課程不能輸入,只有教務(wù)老師才能執(zhí)行歸檔類的操作),以提高程序

23、的實用性。</p><p>  3.3部分功能模塊代碼</p><p>  3.3.1實現(xiàn)錄入學生信息</p><p>  cout<<" ****************歡迎來到計算機-1成績管理系統(tǒng)***************"<<endl;</p><p>  cout<<

24、"請對各學生的成績進行輸入:"<<endl;</p><p>  input(m1);</p><p>  input(m2);</p><p>  input(m3);</p><p>  input(m4);</p><p>  input(m5);</p><p

25、>  input(m6);</p><p>  cout<<"你輸入的是:"<<endl;</p><p>  cout<<"\t\t姓名\t學號\t英語\t數(shù)學\tC++"<<"\n";</p><p>  output1(m1);</p>

26、<p>  output1(m2);</p><p>  output1(m3);</p><p>  output1(m4);</p><p>  output1(m5);</p><p>  output1(m6);</p><p>  order(m1,m2,m3,m4,m5,m6);</p&

27、gt;<p><b>  }</b></p><p><b>  }</b></p><p>  3.3.2實現(xiàn)修改學生成績</p><p>  cout<<"\t**********在這里對學生成績進行修改**********"<<endl;</p>

28、<p><b>  int b1;</b></p><p>  cout<<"請輸入你要修改學生的學號:"<<endl;</p><p><b>  cin>>b1;</b></p><p>  if(b1==p1.number)</p>&

29、lt;p><b>  {</b></p><p><b>  p1=Stu();</b></p><p>  input(p1);</p><p>  cout<<"\t修改成功!!"<<endl;</p><p><b>  }</

30、b></p><p>  else if(b1==p2.number)</p><p><b>  {</b></p><p><b>  p2=Stu();</b></p><p>  input(p2);</p><p>  cout<<"\t

31、修改成功!!"<<endl;</p><p><b>  }</b></p><p>  else if(b1==p3.number)</p><p><b>  {</b></p><p><b>  p3=Stu();</b></p>&

32、lt;p>  input(p3);</p><p>  cout<<"\t修改成功!!"<<endl;</p><p><b>  }</b></p><p>  else if(b1==p4.number)</p><p><b>  {</b>&

33、lt;/p><p><b>  p4=Stu();</b></p><p>  input(p4);</p><p>  cout<<"\t修改成功!!"<<endl;</p><p><b>  }</b></p><p>  els

34、e if(b1==p5.number)</p><p><b>  {</b></p><p><b>  p5=Stu();</b></p><p>  input(p5);</p><p>  cout<<"\t修改成功!!"<<endl;</p

35、><p><b>  }</b></p><p>  else if(b1==p1.number)</p><p><b>  {</b></p><p><b>  p1=Stu();</b></p><p>  input(p1);</p>

36、<p>  cout<<"\t修改成功!!"<<endl;</p><p><b>  }</b></p><p>  else if(b1!=p1.number||b1!=p2.number||b1!=p3.number||b1!=p4.number||b1!=p5.number||b1!=p6.number)

37、</p><p><b>  {</b></p><p>  cout<<"對不起!該學號不存在!請確認后在輸入!"<<endl;</p><p><b>  }</b></p><p>  goto sheji;</p><p>

38、<b>  }</b></p><p>  else if(q==6)</p><p><b>  {</b></p><p>  3.3.3實現(xiàn)學生成績的排序</p><p>  cout<<"\t**********以平均成績進行排名**********"<

39、<endl;</p><p>  strcpy(s2,"均分");</p><p>  for(int i1=1;i1<6;i1++) </p><p><b>  {</b></p><p>  for(int j1=

40、0;j1<6-i1;j1++)</p><p>  if(p[j1]<=p[j1+1])</p><p><b>  { </b></p><p>  mat=p[j1],p[j1]=p[j1+1],p[j1+1]=mat;</p><p>  s1=name[j1],name[j1]=name[j1+1],

41、name[j1+1]=s1;</p><p>  n=number[j1],number[j1]=number[j1+1],number[j1+1]=n;</p><p><b>  }</b></p><p><b>  }</b></p><p>  cout<<"\t\t

42、名次\t姓名\t學號\t"<<s2<<"\n";</p><p>  for(i1=0;i1<6;i1++)</p><p>  cout<<"\t\t"<<i1+1<<"\t"<<name[i1]<<"\t"&

43、lt;<number[i1]<<"\t"<<p[i1]<<endl;</p><p>  cout<<endl;</p><p>  goto sheji;</p><p><b>  }</b></p><p><b>  if(q==

44、2)</b></p><p><b>  {</b></p><p>  3.3.4實現(xiàn)對學生成績的查詢</p><p>  //void Studentmassage::Find()</p><p><b>  {</b></p><p>  char name

45、[20] ,Id[10];</p><p><b>  int x;</b></p><p>  Student * p=NULL;</p><p>  cout<<"\n\t\t*********************************\n";</p><p>  cout<

46、;<"\t\t※ 1.按學生的姓名查找\n\t\t※ 2.按學生學號查找";</p><p>  cout<<"\n\t\t*********************************\n請選擇:";</p><p><b>  cin>>x;</b></p><p>

47、<b>  switch(x)</b></p><p><b>  {</b></p><p>  case 1:{cout<<"\t\t請輸入要查找的學生的姓名:";cin>>name;</p><p>  if(p=FindItem(name))</p><

48、;p><b>  {</b></p><p>  p->Next->Show();</p><p>  cout<<"輸入任意字符!繼續(xù)……";</p><p><b>  getch();</b></p><p><b>  }</

49、b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"\t\t沒有找到該姓名的學生!"<<'\n'<<endl;</p><p>  cout<

50、<"輸入任意字符!繼續(xù)……";</p><p><b>  getch();</b></p><p><b>  }</b></p><p><b>  }break;</b></p><p><b>  case 2:</b>&

51、lt;/p><p><b>  {</b></p><p>  cout<<"\t\t請輸入要查找的學生的學號:";cin>>Id;</p><p>  if(p=FindID(Id))</p><p><b>  {</b></p><p

52、>  p->Next->Show();</p><p>  cout<<"輸入任意字符!繼續(xù)……";</p><p><b>  getch();</b></p><p><b>  }</b></p><p><b>  else<

53、/b></p><p><b>  {</b></p><p>  cout<<"\t\t沒有找到該學好的學生!"<<'\n'<<endl;</p><p>  cout<<"輸入任意字符!繼續(xù)……";</p><p

54、><b>  getch();</b></p><p><b>  }</b></p><p><b>  }break;</b></p><p><b>  }</b></p><p><b>  }</b></p>

55、;<p>  3.3.5統(tǒng)計不及格的學生</p><p>  cout<<"**********統(tǒng)計有不及格科目的同學***********"<<endl;</p><p>  for(int i=0;i<6;i++)</p><p><b>  {</b></p>

56、<p>  if(English[i]<60||Math[i]<60||Cjj[i]<60)</p><p><b>  {</b></p><p>  cout<<"\t姓名\t學號\t英語\t數(shù)學\tC++\t均分\t總分"<<"\n";</p><p&

57、gt;  output2(soure[i]);</p><p><b>  }</b></p><p><b>  }</b></p><p>  goto sheji;</p><p><b>  }</b></p><p>  else if(q==

58、0)</p><p><b>  {</b></p><p>  cout<<"謝謝你的支持!"<<endl;</p><p><b>  exit(1);</b></p><p><b>  }</b></p><

59、;p><b>  }</b></p><p>  void main()</p><p><b>  { </b></p><p>  Stu m1,m2,m3,m4,m5,m6;</p><p>  void Stu::getname();</p><p>&l

60、t;b>  {</b></p><p>  3.3.6輸出學生成績單</p><p>  cout<<"\t**********各科平均成績**********"<<endl;</p><p>  double a1=0,b=0,d=0,e=0,h=0;</p><p>  for

61、(int j=0;j<6;j++)</p><p><b>  {</b></p><p>  a1+=English[j];</p><p><b>  }</b></p><p>  cout<<"\t英語的平均分為\t"<<(double(a1

62、/5.0))<<endl;</p><p>  for(int i=0;i<6;i++)</p><p><b>  {</b></p><p>  b+=Math[i];</p><p><b>  }</b></p><p>  cout<<

63、"\t數(shù)學的平均分為\t"<<(double(b/5.0))<<endl;</p><p>  for(int k=0;k<6;k++)</p><p><b>  {</b></p><p>  e+=Cjj[k];</p><p><b>  }</b

64、></p><p>  cout<<"\tC++的平均分為\t"<<(double(e/5.0))<<endl;</p><p>  goto sheji;</p><p><b>  }</b></p><p>  else if(q==4)</p&g

65、t;<p><b>  {</b></p><p>  ofstream file("d:\\student.txt");</p><p><b>  if(!file)</b></p><p><b>  {</b></p><p>  co

66、ut<<"student.txt can't open.\n";</p><p><b>  abort();</b></p><p><b>  }</b></p><p>  file<<"\t姓名\t學號\t英語\t數(shù)學\tC++\t均分\t總分"

67、;<<"\n";</p><p>  for(int i=0;i<6;i++)</p><p><b>  {</b></p><p>  file<<"\t"<<name[i]<<"\t"<<number[i]<

68、<"\t"<<English[i]<<"\t"<<Math[i]<<"\t"<<Cjj[i]<<"\t"<<Average[i]<<"\t"<<Total[i]<<"\n";</p>

69、<p><b>  }</b></p><p>  file.close();</p><p>  cout<<"計算機-1的成績單已輸入到了D:\\student.txt中。希望你查看!"<<endl;</p><p>  goto sheji;</p><p>

70、;<b>  }</b></p><p>  else if(q==5)</p><p><b>  {</b></p><p><b>  4系統(tǒng)測試</b></p><p><b>  4.1調(diào)試過程</b></p><p> 

71、 首先是學生成績信息的錄入</p><p>  顯示錄入學生成績信息</p><p><b>  查詢平均成績排名</b></p><p><b>  查詢個人情況</b></p><p><b>  查詢各科平均成績</b></p><p><b

72、>  輸出班級成績單</b></p><p><b>  修改個人成績</b></p><p>  統(tǒng)計有不及格科目的同學</p><p><b>  退出系統(tǒng)菜單</b></p><p><b>  4.2調(diào)試結(jié)果說明</b></p><

73、p>  本文所闡述的學生成績管理系統(tǒng),具有對學生成績信息的輸入功能,但是輸入格式有所限制,比如學號的輸入只能是四個數(shù)字,不是四個數(shù)字,此系統(tǒng)就不予識別,調(diào)試無法再進行下去,而且學號不能相同,相同也會影響程序的調(diào)試。輸入的學生數(shù)不能少于六個,否則也無法調(diào)試下去。在輸出班級成績單的模塊中,系統(tǒng)將成績單保存到了文件夾中,方便進行查看,統(tǒng)計學生是否有不及格科目的過程,可以將學生的姓名學號成績等都顯示出來,非常方便查看。各功能模塊在主菜單中

74、都有選擇序號,操作人員可以根據(jù)序號選擇要進行的操作,退出的時候只要選擇0,即可方便退出。</p><p><b>  結(jié)束語</b></p><p>  經(jīng)過兩個星期的C++程序設(shè)計,讓我明白到了C++這門課的重要性,C++作為一門電腦學的基礎(chǔ)課,是我們必須掌握的順電腦飛速發(fā)展的今天,掌握電腦的應(yīng)用是如今每一位大學生所必須掌握的,掌握電腦有對各人來說有我種好處,學習電

75、腦是一種本領(lǐng),也是一種生存的技能,而C++做為電腦的基礎(chǔ),掌握它更是我們這些大學生所必須掌握的。拿到題目,我真的不知道該怎么辦,但隨著慢慢的設(shè)計,思路也總算有了,這樣才能繼續(xù)進行下去,這時我才真正認識到了C+++的功能原來是那么的多。一個復雜的成績管理系統(tǒng),經(jīng)過500-600行的代碼就可以完完全全的達到,這是讓我非常驚訝的,但相對,如今的C++也是非常難的,這學期學到的I/O流,類,都是C++的重點,但學下來以后感覺還是很難所以必須先打

76、好基礎(chǔ),基礎(chǔ)好了,學什么都會容易很多。這次的程序設(shè)計讓我重新認識到了C++,這是一門非常重要的科目,我們必須付出很多倍的努力學習它,才能熟練地掌握它。</p><p><b>  參考文獻</b></p><p>  鄭莉,董淵,何江舟C++語言程序設(shè)計(第四版)清華大學出版社</p><p>  嚴蔚敏,吳偉民 數(shù)據(jù)結(jié)構(gòu)(C語言版)清華大學出

溫馨提示

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

評論

0/150

提交評論