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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

8、力和不必要的工作。</p><p>  關(guān)鍵詞:學(xué)生成績管理系統(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>  字典 - 查看字典詳細(xì)內(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詳細(xì)設(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>  參考文獻(xiàn)26</b></p><p><b>  1系統(tǒng)概述</b></p><p>  該系統(tǒng)實(shí)現(xiàn)對若干大學(xué)生的學(xué)習(xí)成績進(jìn)行管理,能實(shí)現(xiàn)按學(xué)期、按班級完成對學(xué)生成績的錄入、修

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

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

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

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

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

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

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

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

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

24、"請對各學(xué)生的成績進(jìn)行輸入:"<<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學(xué)號\t英語\t數(shù)學(xué)\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實(shí)現(xiàn)修改學(xué)生成績</p><p>  cout<<"\t**********在這里對學(xué)生成績進(jìn)行修改**********"<<endl;</p>

28、<p><b>  int b1;</b></p><p>  cout<<"請輸入你要修改學(xué)生的學(xué)號:"<<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<<"對不起!該學(xué)號不存在!請確認(rèn)后在輸入!"<<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實(shí)現(xiàn)學(xué)生成績的排序</p><p>  cout<<"\t**********以平均成績進(jìn)行排名**********"<

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學(xué)號\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實(shí)現(xiàn)對學(xué)生成績的查詢</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.按學(xué)生的姓名查找\n\t\t※ 2.按學(xué)生學(xué)號查找";</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請輸入要查找的學(xué)生的姓名:";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沒有找到該姓名的學(xué)生!"<<'\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請輸入要查找的學(xué)生的學(xué)號:";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沒有找到該學(xué)好的學(xué)生!"<<'\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)計不及格的學(xué)生</p><p>  cout<<"**********統(tǒng)計有不及格科目的同學(xué)***********"<<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學(xué)號\t英語\t數(shù)學(xué)\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輸出學(xué)生成績單</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ù)學(xué)的平均分為\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學(xué)號\t英語\t數(shù)學(xué)\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<<"計算機(jī)-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、 首先是學(xué)生成績信息的錄入</p><p>  顯示錄入學(xué)生成績信息</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)計有不及格科目的同學(xué)</p><p><b>  退出系統(tǒng)菜單</b></p><p><b>  4.2調(diào)試結(jié)果說明</b></p><

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

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

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

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

溫馨提示

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

評論

0/150

提交評論