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

下載本文檔

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

文檔簡介

1、<p>  “C++程序設(shè)計(jì)”課程設(shè)計(jì)報(bào)告</p><p>  簡單成績管理系統(tǒng)設(shè)計(jì)</p><p>  姓 名: </p><p>  班 級: 11級電氣工程及其自動(dòng)化4班 </p><p>  學(xué) 號: <

2、/p><p>  指導(dǎo)老師: </p><p>  完成時(shí)間:2012年12月24日 </p><p>  完成地點(diǎn): </p><p><b>  基本信息</b></p><p&

3、gt;<b>  1、設(shè)計(jì)題目</b></p><p><b>  簡單成績管理系統(tǒng)。</b></p><p><b>  2、設(shè)計(jì)目標(biāo)及思想</b></p><p>  設(shè)計(jì)出一個(gè)簡單而精致的程序系統(tǒng)。掌握C++中各個(gè)知識的綜合運(yùn)用,包括類、函數(shù)、字符串的定義等重要眾多的知識。運(yùn)用所學(xué)知識,預(yù)先把握

4、全局定位,設(shè)計(jì)出簡潔的程序語句,實(shí)現(xiàn)最為完美的應(yīng)用系統(tǒng)。</p><p><b>  二、程序設(shè)計(jì)要求</b></p><p><b>  1、習(xí)題相關(guān)信息</b></p><p>  該系統(tǒng)有啟動(dòng)(按任意鍵)開始界面和退出界面。本系統(tǒng)是采用鍵式輸入的方法,選擇和操作相應(yīng)的功能(其中包括信息的錄入、刪除、查詢、修改等一系列

5、操作。)</p><p>  2、此設(shè)計(jì)所要求具有的功能及其分析</p><p>  (1)、系統(tǒng)主要的功能菜單</p><p><b>  1錄入學(xué)生成績</b></p><p><b>  2修改學(xué)生成績</b></p><p><b>  3 統(tǒng)計(jì)學(xué)生成績&l

6、t;/b></p><p><b>  4 查詢學(xué)生成績</b></p><p><b>  5顯示學(xué)生成績</b></p><p><b>  0安全退出系統(tǒng)</b></p><p> ?。?)、各個(gè)菜單選項(xiàng)的功能分析</p><p> ?、黉浫?/p>

7、學(xué)生成績需要分別錄入學(xué)號(若重復(fù),則有提示學(xué)號已存在)、姓名、性</p><p>  別、年齡、學(xué)院、年級、和專業(yè)及三科的成績。</p><p>  ②修改學(xué)生信息必須是在已錄入的學(xué)生信息中才可以進(jìn)行修改,修改的范圍可以是所錄入的任一部分。</p><p> ?、劢y(tǒng)計(jì)學(xué)生成績是對用戶所錄入的信息進(jìn)行簡單的分析及保存其統(tǒng)計(jì)結(jié)果,用戶可以隨時(shí)調(diào)出其進(jìn)行查看。</p

8、><p>  ④可以通過查詢對已錄入的學(xué)生信息進(jìn)行調(diào)出查詢。</p><p> ?、蒿@示學(xué)生成績可以對已經(jīng)錄入的學(xué)生信息進(jìn)行直觀的審視。</p><p> ?、薨踩顺鱿到y(tǒng)可以讓操作者安全退出系統(tǒng),保護(hù)系統(tǒng)內(nèi)部信息不被丟失及損壞。</p><p>  三、各個(gè)功能的詳細(xì)分析</p><p><b>  1、錄入學(xué)

9、生成績</b></p><p>  分別錄入的是學(xué)號(若重復(fù),則有提示學(xué)號已存在)、姓名、性別、年齡、學(xué)院、年級、和專業(yè)及三科的成績及錄入信息截圖。具體程序如下:</p><p>  Student * Next;</p><p>  void Input()</p><p><b>  { </b>&l

10、t;/p><p>  strcpy(Id,q);</p><p>  cout<<"請輸入學(xué)生的姓名:"<<endl; cin>>name;</p><p>  cout<<"請輸入學(xué)生的性別:"<<endl; cin>>sex;</

11、p><p>  cout<<"請輸入學(xué)生的年齡:"<<endl; cin>>old;</p><p>  cout<<"請輸入學(xué)生所讀學(xué)院:"<<endl; cin>>school;</p><p>  cout<<"請輸

12、入學(xué)生的年級:"<<endl; cin>>nj;</p><p>  cout<<"請輸入學(xué)生的專業(yè):"<<endl; cin>>zy;</p><p>  cout<<"請輸入C++課程的成績:"<<endl; cin>>

13、;Cnum;</p><p>  cout<<"請輸入大學(xué)英語的成績:"<<endl; cin>>Mnum;</p><p>  cout<<"請輸入模擬電子技術(shù)的成績:"<<endl; cin>>Enum;</p><p>  sum=Cnum+M

14、num+Enum;</p><p><b>  }</b></p><p>  void ReadFile(istream & in)</p><p><b>  {</b></p><p>  in>>name>>Id>>sex>>old&g

15、t;>school>>nj>>zy>>Cnum>>Mnum>>Enum>>sum;</p><p><b>  }</b></p><p><b>  2、修改學(xué)生成績</b></p><p>  主要是對輸入的學(xué)生信息進(jìn)行修改,則修改程序如下:

16、</p><p>  void Studentmassage::ModifyItem() //修改信息</p><p><b>  {</b></p><p>  char name[20];</p><p>  Student * p=NULL;</p><p>  cout<&l

17、t;"\t\t請輸入要修改的人的姓名:";cin>>name;</p><p>  if(p=FindItem(name))</p><p><b>  {</b></p><p>  cout<<"\t\t已找到學(xué)生的信息,請輸入新的信息!"<<endl;</p

18、><p>  p->Next->Input();</p><p>  cout<<"修改成功!"<<endl;</p><p>  cout<<"輸入任意字符!繼續(xù)……";</p><p><b>  getch();</b></p

19、><p><b>  } </b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"\t\t沒有找到!"<<endl;</p><p>  c

20、out<<"輸入任意字符!繼續(xù)……";</p><p><b>  getch();</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  3 統(tǒng)計(jì)學(xué)生成績</b>

21、;</p><p>  在系統(tǒng)中,對輸入的學(xué)生成績進(jìn)行統(tǒng)計(jì)分析,及其排序問題等的實(shí)現(xiàn)。其部分程序如下:</p><p>  void Studentmassage::Sort()//對當(dāng)前鏈表進(jìn)行排序</p><p><b>  { </b></p><p>  cout <<"Sorting...

22、"<<endl;</p><p>  Student *p=NULL,*p1=NULL,*k=NULL;</p><p>  int n=Studentmassage::ListCount();</p><p><b>  if(n<2)</b></p><p><b>  retu

23、rn;</b></p><p>  for(p=Head->Next;p!=End;p=p->Next) </p><p>  for(k=p->Next;k!=End;k=k->Next)</p><p><b>  {</b></p><p>  if(p->sum>k

24、->sum) </p><p><b>  { </b></p><p>  Studentmassage::Swap(p,k);</p><p><b>  } </b></p><p><b>  } </b></p><p>  cout

25、<<"排序完成!"<<endl;</p><p><b>  getch();</b></p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  4、查詢學(xué)生成績

26、</b></p><p>  若要對輸入的學(xué)生成績進(jìn)行更直觀的觀察,該系統(tǒng)提供了兩種便捷的查詢方式,即按照學(xué)生姓名和按照學(xué)生學(xué)號進(jìn)行查詢,且兩種查詢方式的程序大致相同,查詢的代碼及查詢截圖,如下:</p><p>  void Studentmassage::Find1() 查找函數(shù)</p><p><b>  { </b>

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

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

29、x;</b></p><p><b>  switch(x)</b></p><p><b>  {</b></p><p><b>  case 1:{</b></p><p>  cout<<"\t\t請輸入要查找的學(xué)生的姓名:"

30、;cin>>name; //按姓名查詢</p><p>  if(p=FindItem(name))</p><p><b>  { </b></p><p>  p->Next->Show();</p><p>  cout<<"輸入任意字符!繼續(xù)……";&l

31、t;/p><p><b>  getch();</b></p><p><b>  } </b></p><p><b>  else </b></p><p><b>  { </b></p><p>  cout<<

32、"\t\t沒有找到該姓名的學(xué)生!"<<'\n'<<endl;</p><p>  cout<<"輸入任意字符!繼續(xù)……"; </p><p><b>  getch();</b></p><p><b>  } </b><

33、;/p><p>  }break; case 2: //按學(xué)號查詢</p><p><b>  { </b></p><p>  cout<<"\t\t請輸入要查找的學(xué)生的學(xué)號:";cin>>Id;</p><p>  if(p=FindID(Id))</p>

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

35、  } </b></p><p><b>  else </b></p><p><b>  { </b></p><p>  cout<<"\t\t沒有找到該學(xué)好的學(xué)生!"<<'\n'<<endl; </p><p

36、>  cout<<"輸入任意字符!繼續(xù)……"; getch();</p><p><b>  } </b></p><p><b>  }break;</b></p><p><b>  }</b></p><p><b>  }

37、 </b></p><p><b>  5、刪除學(xué)生成績</b></p><p>  對輸入的學(xué)生信息中,部分存在不足之處,為了保障有足夠的空間儲存更多的信息,不必要的當(dāng)然要及時(shí)刪除,此系統(tǒng)刪除程序如下:</p><p>  void Studentmassage::RemoveItem() // 刪除信息</

38、p><p><b>  {</b></p><p>  char name[20];</p><p>  Student * p=NULL,*temp=NULL;</p><p>  cout<<"\t\t請輸入要?jiǎng)h除的學(xué)生的姓名:"<<endl;cin>>name;&

39、lt;/p><p>  if(p=FindItem(name))</p><p><b>  { </b></p><p>  temp=p->Next;</p><p>  p->Next=p->Next->Next;</p><p>  delete temp;</p

40、><p>  cout<<"\t\t刪除成功!"<<endl;</p><p>  cout<<"輸入任意字符!繼續(xù)……";</p><p><b>  getch();</b></p><p><b>  } </b><

41、/p><p><b>  else</b></p><p><b>  { </b></p><p>  cout<<"\t\t沒有找到!"<<endl; </p><p>  cout<<"輸入任意字符!繼續(xù)……";<

42、/p><p><b>  getch();</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  6顯示學(xué)生信息</b></p><p>  當(dāng)然,我們對輸入的學(xué)生成績等信息

43、為了在查詢或是在其他情況下更直觀的觀察到,當(dāng)然需要顯示功能,其運(yùn)行結(jié)果和查詢結(jié)果截圖、程序具體如下:</p><p>  void Show()</p><p><b>  {</b></p><p>  cout<<"學(xué)號:"<<Id<<endl;</p><p>

44、;  cout<<"姓名:"<<name<<endl;</p><p>  cout<<"性別:"<<sex<<endl;</p><p>  cout<<"年齡:"<<old<<endl;</p><p

45、>  cout<<"學(xué)院:"<<school<<endl;</p><p>  cout<<"年級:"<<nj<<endl;</p><p>  cout<<"專業(yè):"<<zy<<endl;</p>&l

46、t;p>  cout<<"C++程序:"<<Cnum<<endl;</p><p>  cout<<"大學(xué)英語:"<<Mnum<<endl;</p><p>  cout<<"模擬電子技術(shù):"<<Enum<<endl;

47、</p><p>  cout<<"總成績:"<<sum<<endl;</p><p>  cout<<"平均成績:"<<sum/3<<endl;</p><p><b>  }</b></p><p><

48、;b>  7、安全退出系統(tǒng)</b></p><p>  為了保證輸入的學(xué)生信息的完整,我們還設(shè)置添加了安全退出系統(tǒng)這個(gè)功能,在執(zhí)行此程序的時(shí)候,也對輸入的信息進(jìn)行了保存,保存程序如下:</p><p>  void Studentmassage::Save()</p><p><b>  { </b></p>

49、<p>  out.open("sort.txt");</p><p>  for(Student *p=Head->Next;p!=End;p=p->Next)</p><p>  out<<p->name<<"\t"<<p->Id<<"\t"&

50、lt;<p->sex<<"\t"<<p->old<<"\t"<<p->school<<"\t"<<p->nj<<"\t"<<p->zy<<"\t"<<p->Cnum<<

51、;"\t"</p><p>  <<p->Mnum<<"\t"<<p->Enum<<"\t"<<p->sum<<'\n';</p><p>  out.close();</p><p><b>

52、;  }</b></p><p>  8、其他部分要求程序解析</p><p>  (1)學(xué)號不可重復(fù)問題</p><p>  學(xué)號不能重復(fù),則要求在輸入學(xué)生信息是不能與已保存的學(xué)生信息中的學(xué)號相同,程序及運(yùn)行結(jié)果截圖如下:</p><p>  void Studentmassage::Find2()</p><

53、;p><b>  { </b></p><p>  char name[20] ,Id[10];</p><p><b>  int x;</b></p><p>  Student * p=NULL;</p><p>  cout<<"\t\t請輸入學(xué)生的學(xué)號:&quo

54、t;;cin>>Id;strcpy(q,Id);</p><p>  while(p=FindID(Id))</p><p><b>  { </b></p><p>  cout<<"\n 學(xué)號已經(jīng)存在"<<endl;</p><p&

55、gt;  cout<<"-------------------------------------------"<<endl;</p><p>  cout<<"\t\t請重新輸入學(xué)生的學(xué)號:";cin>>Id;strcpy(q,Id);</p><p><b>  } </b>

56、</p><p><b>  }</b></p><p>  在其中find(2)是我們重新定義的,它的主要功能是是否可以再已存在的Id中(即學(xué)號)找到對應(yīng)的Id,若找到的話,則會提示“學(xué)號已存在,請重新輸入學(xué)號?!薄P枰覀冎匦螺斎氩煌膶W(xué)號,方可執(zhí)行下一步。實(shí)現(xiàn)此功能主要是while循環(huán)的使用及拷貝函數(shù)的使用。</p><p>  (2)實(shí)

57、現(xiàn)不及格科目的顯示</p><p>  在此系統(tǒng)的 void show() 中,根據(jù)要求,我們設(shè)計(jì)了實(shí)現(xiàn)輸入成績小于60的給予顯示,顯示哪個(gè)為不及格科目,這之上的是顯示學(xué)生的各類信息,具體是第 6-------顯示學(xué)生信息 部分。主要是if語句的應(yīng)用。程序如下:</p><p>  Void show()</p><p><b>  {</b

58、></p><p>  if(Cnum<60) cout<<"C++課程不及格."<<endl;</p><p>  if(Mnum<60) cout<<"大學(xué)英語不及格."<<endl;</p><p>  if(Enum<60) cout<<

59、;"模擬電子技術(shù)基礎(chǔ)不及格."<<endl;</p><p><b>  }</b></p><p><b>  四、報(bào)告總結(jié)</b></p><p>  這次課程設(shè)計(jì)中,使我收獲很多很多,不管是知識還是團(tuán)隊(duì)合作上都有很大的收獲。第一方面,使我在一些薄弱環(huán)節(jié)得到了很多的鞏固,復(fù)習(xí)了一些容易忘

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論