《c++程序設(shè)計(jì)》課程設(shè)計(jì)--學(xué)生學(xué)籍管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  《C++程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告</p><p>  題 目: 學(xué)生學(xué)籍管理系統(tǒng) </p><p>  學(xué) 院:計(jì)算機(jī)科學(xué)與工程學(xué)院 </p><p>  專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù) </p><p>  學(xué)生姓名: </p><p>  

2、學(xué) 號(hào): </p><p>  指導(dǎo)教師: </p><p>  2012年 06 月 20 日</p><p><b>  目 錄</b></p><p>  10.學(xué)生學(xué)籍管理系統(tǒng) ii</p><p><b>  1.前言

3、 1</b></p><p><b>  2.需求分析1</b></p><p><b>  3.概要設(shè)計(jì) 1</b></p><p><b>  4.詳細(xì)設(shè)計(jì)1</b></p><p><b>  5.測(cè)試1</b></p&g

4、t;<p><b>  6.總結(jié)2</b></p><p><b>  附錄2</b></p><p><b>  前言 </b></p><p>  題目:學(xué)生學(xué)籍信息管理系統(tǒng)</p><p><b>  1 前言</b></p&

5、gt;<p>  21世紀(jì)隨著計(jì)算機(jī)技術(shù)的不斷成熟,帶來(lái)了信息技術(shù)的高速發(fā)展。信息技術(shù)的發(fā)展極大地推動(dòng)了整個(gè)社會(huì)信息化的進(jìn)程。在日益龐大的信息管理領(lǐng)域,信息管理自動(dòng)化直接地改變了傳統(tǒng)的文檔管理方式,極大地提高了工作效率和管理水平。</p><p><b>  2. 需求分析</b></p><p>  鑒于高等院校在校學(xué)生、教職員工、日常事務(wù)處理信息數(shù)據(jù)

6、的繁多,學(xué)校信息管理部門(mén)通常感到無(wú)法高效的進(jìn)行管理。就高等院校學(xué)生學(xué)籍管理這一方面,由于院校學(xué)生人數(shù)眾多,專業(yè)不同,學(xué)校所安排的教學(xué)計(jì)劃也就因人而異。這對(duì)于管理學(xué)生學(xué)籍信息的教務(wù)老師來(lái)說(shuō),無(wú)疑是一項(xiàng)龐大和復(fù)雜的工作。不僅要考慮學(xué)校對(duì)某一專業(yè)整體的教學(xué)計(jì)劃安排,也要對(duì)各專業(yè)相關(guān)老師的教學(xué)任務(wù)進(jìn)行統(tǒng)一協(xié)調(diào),還要考慮某些學(xué)生的特別學(xué)籍變化。為解決學(xué)校上述的學(xué)生學(xué)籍管理難題,提高教務(wù)老師的信息管理效率,以及為了方便學(xué)生更好、更便捷的查看自己的學(xué)

7、籍信息;讓老師的教學(xué)工作更加順利和對(duì)教學(xué)信息的及時(shí)掌握。本系統(tǒng)特參照一般高等院校對(duì)在校學(xué)生課程選修的數(shù)據(jù)庫(kù)管理辦法,結(jié)合實(shí)踐,設(shè)計(jì)出學(xué)生,教師和管理員三大功能模塊,根據(jù)賦予系統(tǒng)權(quán)限不同,分別對(duì)系統(tǒng)進(jìn)行相關(guān)操作,方便了學(xué)生、教師對(duì)學(xué)籍信息的查看,同時(shí),也大大減少了管理員的信息管理工作量,提高了系統(tǒng)效率。</p><p><b>  3 概要設(shè)計(jì)</b></p><p>

8、  1)、通過(guò)對(duì)高等院校管理學(xué)生學(xué)籍的管理模式和步驟流程,設(shè)計(jì)出系統(tǒng)的總體結(jié)構(gòu)和各主要功能模塊。</p><p>  2)、了解面向?qū)ο笳Z(yǔ)言的編程風(fēng)格,以及數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)信息處理的特點(diǎn),確定好系統(tǒng)的設(shè)計(jì)語(yǔ)言和數(shù)據(jù)庫(kù)平臺(tái)。</p><p>  3)、及時(shí)與學(xué)校管理信息老師和課程設(shè)計(jì)指導(dǎo)老師溝通,進(jìn)一步熟悉學(xué)生學(xué)籍信息管理系統(tǒng)的數(shù)據(jù)流程、數(shù)據(jù)處理以及操作步驟。提出自己的設(shè)計(jì)想法,征求老師意見(jiàn),改

9、正不合理的地方,為下面的概念設(shè)計(jì)和詳細(xì)設(shè)計(jì)奠定基礎(chǔ)。</p><p>  3.1 概要設(shè)計(jì)階段總體結(jié)構(gòu)設(shè)計(jì)</p><p>  1)、確定系統(tǒng)的總體結(jié)構(gòu)以及子結(jié)構(gòu):</p><p>  系統(tǒng)根據(jù)用戶模式的不同,實(shí)現(xiàn)不同的系統(tǒng)功能。系統(tǒng)功能層次圖如下:</p><p>  3.2 概要設(shè)計(jì)階段成果</p><p><

10、;b>  4詳細(xì)設(shè)計(jì)</b></p><p><b>  4.1 界面設(shè)計(jì)</b></p><p>  系統(tǒng)開(kāi)始運(yùn)行后自動(dòng)從當(dāng)前目錄下的xueshen文件中讀取信息,并實(shí)時(shí)顯示信息的讀取情況。用戶登錄系統(tǒng)主界面,輸入用戶名和密碼,。系統(tǒng)對(duì)用戶進(jìn)行安全驗(yàn)證,若通過(guò),則跳轉(zhuǎn)到相應(yīng)操作界面;若失敗,則提示相應(yīng)錯(cuò)誤信息。系統(tǒng)主界面如下圖所示,各功能模塊前面都

11、標(biāo)注了編碼 ,用戶只要輸入相應(yīng)的編碼就可以選擇相應(yīng)的功能模塊,方便了各層次用戶對(duì)系統(tǒng)的功能操作。同時(shí)界面中也顯示了整體的結(jié)構(gòu)圖,以便用戶對(duì)系統(tǒng)的整個(gè)功能結(jié)構(gòu)有著清晰的認(rèn)識(shí)。在用戶選擇每一個(gè)具體的功能模塊后,系統(tǒng)都會(huì)提示用戶做出相應(yīng)的操作,并根據(jù)用戶的指令反饋相應(yīng)的信息處理結(jié)果。另外在顯示新的菜單時(shí),都會(huì)將之前的內(nèi)容清空,使系統(tǒng)的操作界面簡(jiǎn)潔,提高用戶使用系統(tǒng)的效率。</p><p><b>  圖1&l

12、t;/b></p><p><b>  功能描述:</b></p><p>  圖1為學(xué)生學(xué)籍管理系統(tǒng)操作界面</p><p>  選擇1:進(jìn)入學(xué)生信息登記界面,可查看學(xué)生的學(xué)籍信息,對(duì)信息進(jìn)行添 </p><p><b>  加 </b></p>

13、<p>  選擇2:進(jìn)入學(xué)生信息刪除界面,輸入學(xué)生學(xué)號(hào),進(jìn)行學(xué)生信息刪除功 </p><p><b>  提示。 </b></p><p>  選擇3:進(jìn)入學(xué)生信息查找界面,錄入學(xué)生學(xué)號(hào),對(duì)學(xué)生的相關(guān)信息進(jìn)行查找。</p><p>  選擇4:進(jìn)入學(xué)生信息修改界面,錄入要修改的學(xué)生編號(hào),選擇要修改的信息,輸入新信息。</p

14、><p>  選擇5:按要求輸出學(xué)生信息界面,輸入要輸出的學(xué)生信息進(jìn)行相同信 </p><p><b>  息學(xué)生的統(tǒng)計(jì)輸出。</b></p><p>  選擇6:退出操作界面,退出系統(tǒng)操作。</p><p><b>  圖2</b></p><p><b>  功

15、能描述:</b></p><p>  圖2為是否進(jìn)行操作界面</p><p>  選擇Y:返回學(xué)生學(xué)籍管理系統(tǒng)操作界面</p><p>  選擇N:退出操作界面</p><p><b>  圖3 </b></p><p><b>  功能描述:</b></p

16、><p>  圖3為信息保存界面。</p><p>  選擇Y:進(jìn)行信息保存退出系統(tǒng)</p><p>  選擇N:不保存信息退出系統(tǒng)</p><p><b>  4.2 編碼。</b></p><p><b>  1)頭文件代碼</b></p><p> 

17、 //MyStudent.h</p><p>  #ifndef MYSTUDENT_H_</p><p>  #define MYSTUDENT_H_</p><p>  #include<iostream></p><p>  #include<string></p><p>  using

18、 namespace std; </p><p>  class Student </p><p><b>  {</b></p><p><b>  public:</b></p>

19、<p>  double Num;</p><p>  string Name;string Sex;int Age;</p><p>  string Jiguan;</p><p>  string Xibie;</p><p>  string Zuanye;</p><p>  string Cla

20、ss;</p><p>  string bianhua;</p><p>  Student *next;};</p><p><b>  #endif</b></p><p>  //MyLIST.h</p><p>  #include<iostream></p>

21、<p>  #include<string></p><p>  #include<fstream></p><p>  #include"MyStudent.h"</p><p>  using namespace std; </p><p>

22、  class LIST </p><p>  {private:</p><p><b>  public:</b></p><p>  Student *head; </p><p>  LIST

23、() </p><p>  {head=new Student;</p><p>  head->next=NULL;</p><p><b>  };</b></p><p>  int length();

24、 </p><p>  bool isempty(){ return head->next==NULL?true:false;}</p><p>  bool get_data(int i,Student &x); </p><p>  bool get_succ(int i,Student &x);

25、 </p><p>  bool get_prior(int i,Student &x); //取前驅(qū)元素函數(shù)</p><p>  bool replace_data(double i); //置換元素</p><p>  bool insert_data(Student data,int i); //

26、插入元素函數(shù)</p><p>  bool delete_data(double i); //刪除元素函數(shù)</p><p>  bool find_data(double i,Student &result); </p><p>  void tongji(Student x);//查找函數(shù)</p><

27、;p>  void print_list();</p><p>  void shuchu();</p><p>  ~LIST() //析構(gòu)函數(shù)</p><p>  {Student *p;</p><p>  while(head)

28、//將鏈表中所有元素占用空間釋放</p><p>  {p = head;</p><p>  head = head->next;</p><p>  delete p; </p><p><b>  }</b></p><p><b>  }</b></p&

29、gt;<p><b>  };</b></p><p><b>  #endif</b></p><p>  //Myvoid.h</p><p>  #include<iostream></p><p>  #include"MyLIST.h"<

30、/p><p>  #include"MyStudent.h"</p><p>  void In( int i,Student chuandi[])</p><p><b>  {</b></p><p>  double Num;</p><p>  string Name

31、;</p><p>  string Sex;</p><p><b>  int Age;</b></p><p>  string Jiguan;</p><p>  string Xibie;</p><p>  string Zuanye;</p><p>  st

32、ring Class;</p><p>  string bianhua;</p><p>  ifstream in("xuesheng");</p><p>  if(!in){cout<<"不能打開(kāi)!"<<endl;}</p><p>  for(int j=1;j<

33、=i;j++)</p><p><b>  {</b></p><p>  in>>Num>>Name >>Sex </p><p>  >>Age>>Jiguan </p><p>  >>Xibie >>Zuanye>>C

34、lass>>bianhua ;</p><p>  in.close ;</p><p>  chuandi[j].Num =Num;</p><p>  chuandi[j].Name =Name;</p><p>  chuandi[j].Sex =Sex;</p><p>  chuandi[j].A

35、ge =Age;</p><p>  chuandi[j].Jiguan =Jiguan;</p><p>  chuandi[j].Xibie =Xibie;</p><p>  chuandi[j].Zuanye =Zuanye;</p><p>  chuandi[j].Class =Class;</p><

36、p>  chuandi[j].bianhua =bianhua;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void changdu(LIST lis)</p><p><b>  {</b></p>

37、<p>  ofstream out("len");</p><p>  out<<lis.length ();</p><p>  out.close;</p><p><b>  }</b></p><p>  int len()</p><p>

38、<b>  {</b></p><p><b>  int i;</b></p><p>  ifstream in("len");</p><p><b>  in>>i;</b></p><p><b>  return i;<

39、;/b></p><p><b>  }</b></p><p>  void output()</p><p><b>  {</b></p><p>  cout<<endl<<endl<<endl<<endl<<endl<

40、/p><p>  <<" ****************************************************"<<endl</p><p>  <<" * *"

41、<<endl</p><p>  <<" * 學(xué)生學(xué)籍管理系統(tǒng) *"<<endl</p><p>  <<" *

42、 *"<<endl</p><p>  <<" * 1.登記學(xué)生信息 *"<<endl</p><p>  <<" * 2.刪除學(xué)生信息

43、 *"<<endl</p><p>  <<" * 3.查找學(xué)生信息 *"<<endl</p><p>  <<" * 4.修改學(xué)生信息

44、 *"<<endl</p><p>  <<" * 5.按要求輸出籍貫表 *"<<endl</p><p>  <<" * 6.退出操作選擇

45、 *"<<endl</p><p>  <<" * *"<<endl</p><p>  <<" *

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

47、<" 請(qǐng)選擇需要的功能<1-6>:";</p><p><b>  }</b></p><p>  void baochun()</p><p><b>  {</b></p><p>  cout<<endl<<en

48、dl<<endl<<endl<<endl<<endl;</p><p>  cout<<" ############################################"<<endl</p><p>  <<"

49、 # #"<<endl</p><p>  <<" # 是否保存修改信息? #"<<endl</p><p>  <<"

50、# 是輸入Y, #"<<endl</p><p>  <<" # 退出輸入N #"<<endl</p><p>  <<"

51、 # #"<<endl</p><p>  <<" ############################################"<<endl;</p><p>  cout<<"輸

52、入您的選擇:";</p><p><b>  }</b></p><p>  void jixu()</p><p><b>  {</b></p><p>  cout<<endl<<endl<<endl<<endl<<endl

53、<<endl;</p><p>  cout<<" ############################################"<<endl</p><p>  <<" #

54、 #"<<endl</p><p>  <<" # 是否繼續(xù)操作? #"<<endl</p><p>  <<" # 是輸入Y,

55、 #"<<endl</p><p>  <<" # 退出輸入N #"<<endl</p><p>  <<" #

56、 #"<<endl</p><p>  <<" ############################################"<<endl;</p><p>  cout<<"輸入您的選擇:";</p><p>&l

57、t;b>  }</b></p><p><b>  #endif</b></p><p><b>  測(cè)試</b></p><p>  創(chuàng)建數(shù)據(jù)庫(kù),建立好相應(yīng)的數(shù)據(jù)表,插入系統(tǒng)用戶、學(xué)生、課程等數(shù)據(jù)信息,進(jìn)行系統(tǒng)測(cè)試與調(diào)試。</p><p>  5.1創(chuàng)建系統(tǒng)測(cè)試數(shù)據(jù)</p&

58、gt;<p>  學(xué)號(hào) 姓名 性別年齡 籍貫 系別 專業(yè) 班級(jí) 學(xué)籍變化</p><p>  11003 小虎 男 21 廣西 計(jì)算機(jī) 軟件 102 入學(xué)</p><p>  09002 小華 女 23 湖北 機(jī)電 制作 301 畢業(yè)</p><p&

59、gt;  10004 小東 男 22 湖南 材料 開(kāi)發(fā) 501 轉(zhuǎn)專業(yè)</p><p><b>  6.總結(jié)</b></p><p><b>  課程設(shè)計(jì)總結(jié):</b></p><p>  學(xué)習(xí)C++課程兩個(gè)學(xué)期,現(xiàn)在剛剛學(xué)完,學(xué)校安排大一下學(xué)期做面向?qū)ο笳Z(yǔ)言程序設(shè)計(jì)。知識(shí)的掌握和了解還不

60、是很到位,應(yīng)用起來(lái)不靈活,拿起書(shū)本不斷的翻看查找,復(fù)習(xí)一下所學(xué)的知識(shí),開(kāi)始在腦海中醞釀要做一個(gè)什么樣的系統(tǒng)。經(jīng)過(guò)一周的努力,算是完成了任務(wù)吧。馬上進(jìn)入大二了,還沒(méi)有完全鞏固學(xué)習(xí)過(guò)的知識(shí),所以只能每天白天查閱資料,基本上都是晚上敲一些代碼,所以會(huì)有許多不足之處,也遇到了不少問(wèn)題。例如:在測(cè)試連接數(shù)據(jù)庫(kù)時(shí),對(duì)學(xué)生信息的更新總是失敗。我對(duì)程序執(zhí)行過(guò)程進(jìn)行了細(xì)致分析,沒(méi)有發(fā)現(xiàn)任何邏輯上的問(wèn)題,于是我在所有的地方都添加斷點(diǎn),多次調(diào)試后,發(fā)現(xiàn)問(wèn)題出

61、在類的構(gòu)造函數(shù)和析構(gòu)函數(shù)被多次調(diào)用,而且每次調(diào)用對(duì)象時(shí),都會(huì)建立類的臨時(shí)對(duì)象。后來(lái)我弄明白了在對(duì)對(duì)象進(jìn)行操作時(shí),沒(méi)有使用引用方式,所以任何操作都不會(huì)對(duì)其產(chǎn)生實(shí)質(zhì)作用。當(dāng)我把菜單函數(shù)中對(duì)類對(duì)象的調(diào)用方式都改成引用后,問(wèn)題迎刃而解。在完成課程設(shè)計(jì)的過(guò)程中,這種問(wèn)題還有很多,加上時(shí)間緊迫,中途時(shí)不時(shí)會(huì)灰心喪氣,但是最后還是堅(jiān)持了下來(lái)。這次的課程設(shè)計(jì)經(jīng)歷告訴我,做一件事情,只要自己不放棄,就一定能得到自己所要的。</p><

62、p><b>  參考文獻(xiàn)</b></p><p>  [1] 張俊.王慶春.面向?qū)ο蟪绦蛟O(shè)計(jì)(C++).武漢:武漢大學(xué)出版社.2009</p><p>  [2] 譚浩強(qiáng).語(yǔ)言程序設(shè)計(jì).北京:清華大學(xué)出版社.2004</p><p>  [3] 李普曼.C++ Primer中文版(第4版).北京:人民郵電出版社.2008</p>

63、;<p>  [4] 錢(qián)雪忠.黃建華.數(shù)據(jù)庫(kù)原理及應(yīng)用第二版.北京:北京郵電大學(xué)出版社.2005</p><p>  [5] 羅建軍. 朱丹軍.顧剛.劉路放. 高等教育出版社__2版</p><p><b>  附錄 部分代碼</b></p><p>  //MyLIST.cpp</p><p>  #in

64、clude"MyLIST.h"</p><p>  int LIST::length()</p><p><b>  {</b></p><p>  int counter=0;</p><p>  Student *current;</p><p>  current=he

65、ad->next;</p><p>  while(current!=NULL)</p><p><b>  {</b></p><p>  current=current->next;</p><p>  counter++;</p><p><b>  }</b&g

66、t;</p><p>  return counter;</p><p><b>  }</b></p><p>  bool LIST::get_data(int i,Student &x)</p><p>  { Student *current;</p><p><b> 

67、 int j=1;</b></p><p>  if((i<1)||(i>length()))</p><p><b>  {</b></p><p>  cout<<"非法位置讀取元素,不能讀??! \n";</p><p>  return false;</

68、p><p><b>  }</b></p><p>  current=head->next;</p><p>  while(current!=NULL&&j<i)</p><p><b>  {</b></p><p><b>  j++

69、;</b></p><p>  current=current->next;</p><p><b>  }</b></p><p>  x=*current;</p><p>  return true;</p><p><b>  }</b></p

70、><p>  bool LIST::get_succ (int i, Student &x)</p><p><b>  {</b></p><p>  Student *current ;</p><p><b>  int j=1;</b></p><p>  if(

71、(i<1)||(i>length()))</p><p>  {cout<<"非法位置讀取元素,不能讀??! \n";</p><p>  return false;</p><p><b>  }</b></p><p>  current=head->next;&l

72、t;/p><p>  while(current!=NULL&&j<i)</p><p><b>  {</b></p><p><b>  j++;</b></p><p>  current=current->next;</p><p><b

73、>  }</b></p><p>  if(current->next!=NULL)</p><p><b>  {</b></p><p>  x=*current->next;</p><p>  return true;</p><p><b>  }

74、</b></p><p><b>  else </b></p><p><b>  {</b></p><p>  cout<<"第"<<i<<"個(gè)元素?zé)o后續(xù),不能讀取!\n";</p><p>  retur

75、n false;</p><p><b>  }</b></p><p><b>  }</b></p><p>  bool LIST::get_prior (int i, Student &x)</p><p><b>  {</b></p><

76、p>  Student*current ,*previous;</p><p><b>  int j=1;</b></p><p>  if((i<1)||(i>length()))</p><p>  {cout<<"非法位置讀取元素,不能讀??! \n";</p><

77、p>  return false;</p><p><b>  }</b></p><p>  previous=head;</p><p>  current=head->next;</p><p>  while(current!=NULL&&j<i)</p><

78、p><b>  {</b></p><p><b>  j++;</b></p><p>  previous=current;</p><p>  current=current->next;</p><p><b>  }</b></p><

79、p>  if(previous!=head)</p><p><b>  {</b></p><p>  x=*previous;</p><p>  return true;</p><p><b>  }</b></p><p><b>  else &

80、lt;/b></p><p><b>  {</b></p><p>  cout<<"第"<<i<<"個(gè)元素?zé)o前驅(qū),不能讀取!\n";</p><p>  return false;</p><p><b>  }</b&

81、gt;</p><p><b>  }</b></p><p>  bool LIST::replace_data (double i)</p><p><b>  {</b></p><p><b>  int j=0;</b></p><p>  

82、Student *current =head;</p><p>  current=head->next;</p><p>  while(current!=NULL&&current->Num !=i)</p><p><b>  {</b></p><p><b>  j++;&

83、lt;/b></p><p>  current=current->next;</p><p><b>  }</b></p><p>  if(j==length())</p><p><b>  {</b></p><p>  cout<<&quo

84、t;沒(méi)有找到該學(xué)號(hào)相關(guān)信息!"<<endl;</p><p>  return false;</p><p><b>  }</b></p><p><b>  int xg;</b></p><p>  cout<<"輸入您要修改的學(xué)生信息:1學(xué)號(hào),2姓

85、名,3性別,4年齡,5籍貫,6系別,7專業(yè),8班級(jí), 9學(xué)籍變化."<<endl;</p><p><b>  cin>>xg;</b></p><p>  string xingming;</p><p>  string xingbie;</p><p>  string jigua

86、n;</p><p>  string xibie;</p><p>  string zhuanye;</p><p>  string banji;</p><p>  string bianhua;</p><p>  switch(xg)</p><p><b>  {<

87、/b></p><p><b>  case 1:</b></p><p>  double num;</p><p>  cout<<"您將修改學(xué)號(hào),請(qǐng)輸入新的學(xué)號(hào)"<<endl;</p><p><b>  cin>>num;</b>

88、</p><p>  current->Num =num;</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  cout<<"您將修改姓名,請(qǐng)輸入新姓名"<<endl;</p

89、><p>  cin>>xingming;</p><p>  current->Name =xingming;</p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  cout<<&

90、quot;您將修改性別,請(qǐng)輸入新性別"<<endl;</p><p>  cin>>xingbie;</p><p>  current->Sex =xingbie;</p><p><b>  break;</b></p><p><b>  case 4:</b

91、></p><p>  int nianling;</p><p>  cout<<"您將修改年齡,請(qǐng)輸入新的年齡"<<endl;</p><p>  cin>>nianling;</p><p>  current->Num =nianling;</p>&l

92、t;p><b>  break;</b></p><p><b>  case 5:</b></p><p>  cout<<"您將修改籍貫,請(qǐng)輸入新籍貫"<<endl;</p><p>  cin>>jiguan;</p><p>  

93、current->Jiguan=jiguan;</p><p><b>  break;</b></p><p><b>  case 6:</b></p><p>  cout<<"您將修改系別,請(qǐng)輸入新系別"<<endl;</p><p>  c

94、in>>xibie;</p><p>  current->Xibie=xibie;</p><p><b>  break;</b></p><p><b>  case 7:</b></p><p>  cout<<"您將修改專業(yè),請(qǐng)輸入新專業(yè)"

95、<<endl;</p><p>  cin>>zhuanye;</p><p>  current->Zuanye =zhuanye;</p><p><b>  break;</b></p><p><b>  case 8:</b></p><p

96、>  cout<<"您將修改班級(jí),請(qǐng)輸入新班級(jí)"<<endl;</p><p>  cin>>banji;</p><p>  current->Class =banji;</p><p><b>  break;</b></p><p><b&g

97、t;  case 9:</b></p><p>  cout<<"您將修改學(xué)籍,請(qǐng)輸入新學(xué)籍"<<endl;</p><p>  cin>>bianhua;</p><p>  current->bianhua =bianhua;</p><p><b> 

98、 break;</b></p><p><b>  }</b></p><p>  return true;</p><p><b>  }</b></p><p>  bool LIST::insert_data ( Student data,int i)</p>&l

99、t;p><b>  {</b></p><p>  Student*current ,*previous,*newnode;</p><p><b>  int j=1;</b></p><p>  newnode=new Student;</p><p>  if(newnode==NUL

100、L)</p><p><b>  {</b></p><p>  cout<<"內(nèi)存無(wú)空閑空間,不能插入:";</p><p>  return false;</p><p><b>  }</b></p><p>  newnode->

101、Age =data.Age ;</p><p>  newnode->Num =data.Num ;</p><p>  newnode->Class =data.Class;</p><p>  newnode->Jiguan =data.Jiguan;</p><p>  newnode->Name =data.

102、Name;</p><p>  newnode->Sex =data.Sex;</p><p>  newnode->Xibie =data.Xibie;</p><p>  newnode->Zuanye =data.Zuanye;</p><p>  newnode->bianhua =data.bianhua ;

103、</p><p>  newnode->next=NULL;</p><p>  previous=head;</p><p>  current=head->next;</p><p>  while(current!=NULL&&j<i+1)</p><p><b>  

104、{</b></p><p>  previous=current;</p><p>  current=current->next;</p><p><b>  j++;</b></p><p><b>  };</b></p><p>  newnode-

105、>next=current;</p><p>  previous->next=newnode;</p><p>  return true;</p><p><b>  }</b></p><p>  bool LIST::delete_data (double i)</p><p&

106、gt;<b>  {</b></p><p>  Student *current ,*previous;</p><p><b>  int j=0;</b></p><p>  if(isempty())</p><p><b>  {</b></p><

107、;p>  cout<<"表已空,不能刪除!\n";</p><p>  return false;</p><p><b>  };</b></p><p>  previous=head;</p><p>  current=head->next;</p>&l

108、t;p>  while(current!=NULL&&current->Num !=i)</p><p><b>  {</b></p><p>  previous=current;</p><p>  current=current->next;</p><p><b> 

109、 j++;</b></p><p><b>  };</b></p><p>  if(j==length())</p><p><b>  {</b></p><p>  cout<<"沒(méi)有該學(xué)號(hào)信息,不能刪除!"<<endl;</p&

110、gt;<p>  return false;</p><p><b>  }</b></p><p>  previous->next=current->next;</p><p>  delete current;</p><p>  return true;</p><p

111、><b>  }</b></p><p>  bool LIST::find_data (double i,Student &result)</p><p><b>  {</b></p><p>  Student *current ;</p><p>  current=head-

112、>next;</p><p>  while(current!=NULL)</p><p><b>  {</b></p><p>  if(current->Num !=i )</p><p>  current=current->next;</p><p><b>

113、  else</b></p><p><b>  {</b></p><p>  result.Age =current->Age ;</p><p>  result.Num =current->Num ;</p><p>  result.Class=current->Class;<

114、;/p><p>  result.Jiguan=current->Jiguan;</p><p>  result.Name=current->Name;</p><p>  result.Sex=current->Sex;</p><p>  result.Xibie=current->Xibie;</p>

115、<p>  result.Zuanye=current->Zuanye;</p><p>  result.bianhua =current->bianhua ;</p><p>  cout<<"查找結(jié)果如下:"<<endl;</p><p>  cout<<"學(xué)號(hào)"

116、;<<"\t"<<"姓名"<<"\t" <<"性別" </p><p>  <<"\t"<<"年齡" <<"\t"<<"籍貫"</p><p

117、>  <<"\t" <<"系別" <<"\t"<<"專業(yè)" <<"\t"<<"班級(jí)"<<"\t"<<"學(xué)籍變化"<<endl ;</p><p&g

118、t;  cout<<result.Num <<"\t"<<result.Name <<"\t" <<result.Sex <<"\t"<<result.Age </p><p>  <<"\t" <<result.Jigua

119、n <<"\t" <<result.Xibie <<"\t"<<result.Zuanye</p><p>  <<"\t"<<result.Class <<"\t"<<result.bianhua <<endl ;</p

120、><p>  return true;</p><p><b>  }</b></p><p><b>  }</b></p><p>  cout<<"沒(méi)有該學(xué)號(hào)的學(xué)生信息!"<<endl;</p><p>  return fals

121、e;</p><p><b>  }</b></p><p>  void LIST::tongji (Student x)</p><p><b>  {</b></p><p>  Student *current;</p><p>  string xingming;&

122、lt;/p><p>  string xingbie;</p><p>  string jiguan;</p><p>  string xibie;</p><p>  string zhuanye;</p><p>  string banji;</p><p>  string bianhu

123、a;</p><p><b>  int nl;</b></p><p>  int sum=0;</p><p><b>  int tj;</b></p><p>  cout<<"選擇統(tǒng)計(jì)信息:1性別,2年齡,3籍貫,4系別,5專業(yè),6班級(jí),7學(xué)籍變化"<

124、<endl;</p><p><b>  cin>>tj;</b></p><p>  switch(tj)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  cout<

125、;<"輸入要輸出的性別: ";</p><p>  cin>>xingbie;</p><p>  cout<<jiguan<<"生的信息如下"<<endl;</p><p>  cout<<"學(xué)號(hào)"<<"\t"

126、;<<"姓名"<<"\t" <<"性別" </p><p>  <<"\t"<<"年齡" <<"\t"<<"籍貫"</p><p>  <<"\t

127、" <<"系別" <<"\t"<<"專業(yè)" <<"\t"<<"班級(jí)"<<"\t"<<"學(xué)籍變化"<<endl ;</p><p>  current=head->n

128、ext;</p><p>  while(current!=NULL)</p><p><b>  {</b></p><p>  if(current->Sex==xingbie)</p><p><b>  {</b></p><p>  sum=sum+1;<

129、;/p><p>  cout<<current->Num<<"\t"<<current->Name<<"\t" <<current->Sex </p><p>  <<"\t"<<current->Age <<&qu

130、ot;\t"<<current->Jiguan </p><p>  <<"\t" <<current->Xibie <<"\t"<<current->Zuanye <<"\t"<<current->Class<<"

131、\t"<<current->bianhua <<endl ;</p><p><b>  }</b></p><p>  current=current->next;</p><p><b>  }</b></p><p><b>  bre

132、ak;</b></p><p><b>  case 2:</b></p><p>  cout<<"輸入要輸出的年齡: ";</p><p><b>  cin>>nl;</b></p><p>  cout<<"年齡為

133、"<<nl<<"的學(xué)生信息如下"<<endl;</p><p>  cout<<"\t"<<"學(xué)號(hào)"<<"\t"<<"姓名"<<"\t" <<"性別" <

134、;/p><p>  <<"\t"<<"年齡" <<"\t"<<"籍貫"</p><p>  <<"\t" <<"系別" <<"\t"<<"專業(yè)&quo

135、t; <<"\t"<<"班級(jí)"<<"\t"<<"學(xué)籍變化"<<endl ;</p><p>  current=head->next;</p><p>  while(current!=NULL)</p><p><

136、b>  {</b></p><p>  if(current->Age ==nl)</p><p><b>  {</b></p><p>  sum=sum+1;</p><p>  cout<<current->Num<<"\t"<<

137、;current->Name<<"\t" <<current->Sex </p><p>  <<"\t"<<current->Age <<"\t"<<current->Jiguan </p><p>  <<"\

138、t" <<current->Xibie <<"\t"<<current->Zuanye <<"\t"<<current->Class<<"\t"<<current->bianhua <<endl ;</p><p><b

139、>  }</b></p><p>  current=current->next;</p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 3:</b></p><

140、;p>  cout<<"輸入要輸出的籍貫: ";</p><p>  cin>>jiguan;</p><p>  cout<<"籍貫為"<<jiguan<<"的學(xué)生信息如下"<<endl;</p><p>  cout<&

141、lt;"學(xué)號(hào)"<<"\t"<<"姓名"<<"\t" <<"性別" </p><p>  <<"\t"<<"年齡" <<"\t"<<"籍貫"&

142、lt;/p><p>  <<"\t" <<"系別" <<"\t"<<"專業(yè)" <<"\t"<<"班級(jí)"<<"\t"<<"學(xué)籍變化"<<endl ;<

143、;/p><p>  current=head->next;</p><p>  while(current!=NULL)</p><p><b>  {</b></p><p>  if(current->Jiguan ==jiguan)</p><p><b>  {</

144、b></p><p>  sum=sum+1;</p><p>  cout<<current->Num<<"\t"<<current->Name<<"\t" <<current->Sex </p><p>  <<"\t

145、"<<current->Age <<"\t"<<current->Jiguan </p><p>  <<"\t" <<current->Xibie <<"\t"<<current->Zuanye <<"\t&quo

146、t;<<current->Class<<"\t"<<current->bianhua <<endl ;</p><p><b>  }</b></p><p>  current=current->next;</p><p><b>  }</

147、b></p><p><b>  break;</b></p><p><b>  case 4:</b></p><p>  cout<<"輸入要輸出的系別: ";</p><p>  cin>>xibie;</p><p>

148、;  cout<<"系別為"<<xibie<<"的學(xué)生信息如下"<<endl;</p><p>  cout<<"學(xué)號(hào)"<<"\t"<<"姓名"<<"\t" <<"性別"

149、; </p><p>  <<"\t"<<"年齡" <<"\t"<<"籍貫"</p><p>  <<"\t" <<"系別" <<"\t"<<"專

150、業(yè)" <<"\t"<<"班級(jí)"<<"\t"<<"學(xué)籍變化"<<endl ;</p><p>  current=head->next;</p><p>  while(current!=NULL)</p><p>

151、;<b>  {</b></p><p>  if(current->Xibie ==xibie)</p><p><b>  {</b></p><p>  sum=sum+1;</p><p>  cout<<current->Num<<"\t&qu

152、ot;<<current->Name<<"\t" <<current->Sex </p><p>  <<"\t"<<current->Age <<"\t"<<current->Jiguan </p><p>  <&

153、lt;"\t" <<current->Xibie <<"\t"<<current->Zuanye <<"\t"<<current->Class<<"\t"<<current->bianhua <<endl ;</p><

154、p><b>  }</b></p><p>  current=current->next;</p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 5:</b></

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論