c++課程設計(簡易圖書管理系統(tǒng))實習報告_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p>  一、綜合訓練目的與要求1</p><p>  二、綜合訓練任務1</p><p><b>  三、總體設計1</b></p><p>  四、詳細設計說明2</p><p>  1、類設計詳細說名

2、2</p><p>  2、部分代碼詳解5</p><p>  1)Student類的設計5</p><p>  2)將文本文件信息存入Stulist容器6</p><p>  3)查詢學生信息6</p><p>  4)刪除學生信息7</p><p><b>  五、調試與

3、測試8</b></p><p>  1、登錄前進行登錄選擇8</p><p>  2、選擇管理員登錄后9</p><p>  3、選擇讀者登錄后12</p><p><b>  六、實習日志14</b></p><p><b>  七、實習總結15</b&g

4、t;</p><p>  八、附錄:核心代碼清單15</p><p>  1、各個類設計.h核心代碼15</p><p>  1)教工類(Teacher.h代碼)15</p><p>  2)學生類.h核心代碼16</p><p>  3)借閱記錄類.h核心代碼17</p><p> 

5、 4)圖書類.h核心代碼18</p><p>  5)管理員類.h核心代碼19</p><p>  6)MangBook類.h核心代碼19</p><p>  7)圖書管理類.h核心代碼20</p><p>  8)借閱記錄管理類.h核心代碼20</p><p>  9)學生管理類.h核心代碼20</

6、p><p>  10)教工管理類.h核心代碼20</p><p>  11)管理員管理類.h核心代碼21</p><p>  12)MangLirary類.h核心代碼21</p><p>  13)管理員登錄類.h核心代碼21</p><p>  14)讀者登錄類.h核心代碼21</p><p

7、>  2、部分類設計.CPP核心代碼22</p><p>  1)學生管理類.CPP核心代碼22</p><p>  2)讀者登錄類.CPP核心代碼30</p><p>  一、綜合訓練目的與要求</p><p>  掌握面向對象程序設計的基本方法,加深對面向對象的思想,包括封裝性、繼承性、多態(tài)性的理解,掌握面向對象程序設計的分析

8、、設計和實現(xiàn)方法。通過實題的分析設計、編程調試,掌握應用軟件的分析方法和工程設計方法,提高程序設計能力和綜合知識運用能力。通過課程設計,培養(yǎng)學生嚴肅認真的工作作風。培養(yǎng)學生自學的能力。培養(yǎng)獨立思考,深入研究,分析問題、解決問題的能力。</p><p>  要求:(1)理解并掌握面向對象的程序設計方法;(2)掌握課程設計的目標和詳細要求;</p><p> ?。?)鞏固和加深對程序設計課

9、程的理解,提高綜合運用課程所學知識的能</p><p><b>  二、綜合訓練任務</b></p><p>  本次所選題目及要求任務如下:</p><p>  1) 圖書管理系統(tǒng)中存在如下業(yè)務實體:圖書(編號、書名、作者、所屬科目、出版社、出版時間、入庫時間、頁數(shù)、定價等),圖書管理員(工號、名稱、崗位等),學生(學號、名稱、性別、年齡、類

10、別、所屬學院、入學時間、畢業(yè)時間、借閱時長限制、借閱冊數(shù)限制等),教工(工號、名稱、性別、年齡、所屬學院、入職時間、借閱時長限制、借閱冊數(shù)限制等),借閱記錄(借閱編號、圖書編號、讀者編號、借閱時間、應還時間、圖書管理員編號等);</p><p>  2) 支持對以上相關業(yè)務實體的新增、刪除、屬性編輯、查詢等操作;</p><p>  3) 實現(xiàn)圖書管理中以上所有業(yè)務實體的保存與打開等文件操

11、作。</p><p><b>  三、總體設計</b></p><p>  如圖1是對本次實習《簡易圖書管理系統(tǒng)的設計與實現(xiàn)》的總體框架圖。對本管理系統(tǒng)我對其設置了6個基礎類2個大類。在大類中設置相應的管理類及相應的函數(shù)對6個基本類進行一些操作。在整個管理程序中,我將6個類相關的數(shù)據(jù)存儲在文本文件中,實現(xiàn)了對文件的讀寫操作。在操作類里面我使用了list容器來存儲從文件

12、中讀取的數(shù)據(jù)??傮w設計思路如圖1所示。</p><p><b>  四、詳細設計說明</b></p><p><b>  1、類設計詳細說名</b></p><p>  在整個系統(tǒng)中,建立了如圖2所示管理員登錄類(Admlogin)、讀者登錄類(Readerlogin),如圖3所示管理員類(Administrator)、登

13、錄密碼類(Admpassword),如圖4所示圖書類(Book)、學生類(Student),如圖5所示教工類(Teacher)、借書記錄類(RecordBooks)、如圖6所示六個管理類。</p><p>  圖2. Admlogin類和Readerlogin類的UML圖示</p><p>  在管理員登錄類中,有個Administratorlogin()函數(shù),在這個函數(shù)中,進行打開管理員

14、密碼文件,實現(xiàn)管理員身份驗證。登錄后管理員可以進行圖書管理、學生管理、管理員管理、教工管理、借書記錄管理以及對登錄用戶的管理。在每個分管理中調用圖6 所示的各個管理類中相應的管理函數(shù)來進行各個部分的管理。同時在管理員登錄類里面設置一個判斷,可以直接進行對用戶登錄管理。</p><p>  圖3.Administrator類和Admpassword 類的UML圖示</p><p>  在管理

15、員類中有私有的管理員屬性和對管理員屬性操作的訪問器函數(shù)。在登錄密碼類同樣設置私有屬性和訪問器函數(shù)來獲得屬性或對屬性修改。同理,圖4、圖5中的圖書類、學生類、教工類、借閱記錄類以同樣的方式來構建相應的類。</p><p>  圖4.Book類和Student類的UMT圖示</p><p>  圖5. Teacher類和RecordBooks類的UML圖示</p><p&

16、gt;  圖6. 管理類的UML圖示</p><p>  在管理類當中MangBook類是Book類的一個Public派生類。為了實現(xiàn)對Book類中屬性的顯示,在show()函數(shù)和showbook()函數(shù)里面調用訪問器函數(shù)來輸出。其它5個管理類實現(xiàn)方法大相近庭。以MangStudent類為例。在MangStudent類當中有個ManageStudent()函數(shù),在此函數(shù)當中采用list容器,定義一個list<

17、;Student> Stulist容器。定義文件輸入輸出流,讀寫打開文件。將文本文件中的信息存入Stulist容器當中。再定義一個Stulist容器自身迭代器list<Student>::iterator s_iter = Stulist.begin()。在以后的刪除、編輯、查詢操作時,就用迭代器s_iter在Stulist上查找相應的信息來進行操作。在信息的增加時,直接以追加的方式打開文件寫入文件。在每一個操作結束后

18、將Stulist容器中的信息寫入文件保存呢。在其它管理類中才用同樣的方法進行系統(tǒng)的管理。</p><p><b>  2、部分代碼詳解</b></p><p>  下面是以MangStudent類管理Student類信息為例的部分代碼:</p><p>  1)Student類的設計</p><p>  class St

19、udent</p><p><b>  {</b></p><p><b>  private:</b></p><p>  int snumber;</p><p>  string sname;</p><p>  string ssex;</p><

20、p><b>  int sage;</b></p><p>  string sdapt;</p><p>  string srutime;</p><p>  string sbiyetime;</p><p>  string sjieyuetime;</p><p>  int sj

21、iecount;</p><p><b>  public:</b></p><p>  Student(int number=0,string name="0",string sex="0",int age=0,string dapt="0",</p><p>  string ru

22、time="0",string biyetime="0",string jieyuetime="0",int jiecount=0);</p><p>  virtual ~Student();</p><p>  int Getsnumber();</p><p>  void Setsnumber(in

23、t number);</p><p>  string Getsname();</p><p>  void Setsname(string name);</p><p>  string Getssex();</p><p>  void Setssex(string sex);</p><p>  int Gets

24、age();</p><p>  void Setsage(int age);</p><p>  string Getsdapt();</p><p>  void Setsdapt(string dapt);</p><p>  string Getsrutime();</p><p>  void Setsrut

25、ime(string rutime);</p><p>  string Getsbiyetime();</p><p>  void Setsbiyetime(string biyetime);</p><p>  string Getsjieyuetime();</p><p>  void Setsjieyuetime(string j

26、ieyutime);</p><p>  int Getsjiecount();</p><p>  void Setsjiecount(int jiecount);</p><p>  void Studentshow();</p><p><b>  };</b></p><p>  2)將文

27、本文件信息存入Stulist容器</p><p>  int snumber;</p><p>  string sname;</p><p>  string ssex;</p><p><b>  int sage;</b></p><p>  string sdapt;</p>

28、<p>  string srutime;</p><p>  string sbiyetime;</p><p>  string sjieyuetime;</p><p>  int sjiecount;</p><p>  //定義Stulist容器和相應迭代器</p><p>  list<S

29、tudent> Stulist;</p><p>  list<Student>::iterator s_iter=Stulist.begin();</p><p>  list<Student>::iterator iter=Stulist.begin();</p><p>  //定義文件輸入流,讀取文件</p>&l

30、t;p>  ifstream infile2;</p><p>  infile2.open("Student.txt",ios::in); </p><p>  //將文本文件信息存入Stulist容器中</p><p>  infile2>>snumber>>sname>>ssex>>

31、;sage>>sdapt>>srutime>>sbiyetime>>sjieyuetime>></p><p>  sjiecount;</p><p>  Student std(snumber,sname,ssex,sage,sdapt,srutime,sbiyetime,sjieyuetime,sjiecount);<

32、/p><p>  Stulist.push_back(std);</p><p>  while(infile2>>snumber>>sname>>ssex>>sage>>sdapt>>srutime>>sbiyetime>>sjieyuet ime>>sjiecount)</p&

33、gt;<p><b>  {</b></p><p>  Student std(snumber,sname,ssex,sage,sdapt,srutime,sbiyetime,sjieyuetime,</p><p>  sjiecount);</p><p>  Stulist.push_back(std);</p>

34、;<p><b>  }</b></p><p><b>  3)查詢學生信息</b></p><p>  cout<<"1、顯示所有信息\t\t2、查詢某個學生"<<endl;</p><p>  cout<<"請選擇··

35、····"<<endl;</p><p><b>  int xuan;</b></p><p>  cin>>xuan;</p><p>  if(xuan==1)</p><p><b>  {</b></p>

36、<p>  cout<<"全部學生信息如下:"<<endl;</p><p>  for(s_iter=Stulist.begin(); s_iter!=Stulist.end(); s_iter++)</p><p><b>  {</b></p><p>  s_iter->S

37、tudentshow();</p><p><b>  }</b></p><p><b>  }</b></p><p>  else if(xuan==2)</p><p><b>  {</b></p><p>  cout<<&quo

38、t;請輸入您要查詢學生的編號(20100128**)->>";</p><p>  int xuehao;</p><p>  int judge=0;</p><p>  cin>>xuehao;</p><p>  for(s_iter=Stulist.begin(); s_iter!=Stulist.e

39、nd(); s_iter++)</p><p><b>  {</b></p><p>  if(s_iter->Getsnumber()==xuehao)</p><p><b>  {</b></p><p>  cout<<"查詢結果如下:"<<

40、;endl;</p><p>  s_iter->Studentshow();</p><p><b>  judge=1;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><

41、b>  }</b></p><p>  if(judge == 0)</p><p><b>  {</b></p><p>  cout<<"你要查找的學生不存在!"<<endl;</p><p><b>  }</b></p&g

42、t;<p><b>  }</b></p><p>  else{ cout<<"無此選項!"<<endl;}</p><p><b>  4)刪除學生信息</b></p><p>  cout<<"請輸入要刪除學生的學號(20100128**

43、)->>";</p><p>  int number;</p><p>  int judge=0;</p><p><b>  int ok=0;</b></p><p>  cin>>number;</p><p>  for(s_iter=Stulist.

44、begin(); s_iter!=Stulist.end(); s_iter++)</p><p><b>  {</b></p><p>  if(s_iter->Getsnumber()==number)</p><p><b>  {</b></p><p>  iter=s_iter;

45、</p><p>  iter->Studentshow();</p><p><b>  judge=1;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  e

46、lse{;}</b></p><p><b>  }</b></p><p>  cout<<"是否刪除:1、是2、否->>";</p><p><b>  cin>>ok;</b></p><p>  if(judge==1 &a

47、mp;& ok==1)</p><p><b>  {</b></p><p>  Stulist.erase(s_iter);</p><p>  ofstream Delestu;</p><p>  Delestu.open("Student.txt",ios::out);</p&

48、gt;<p>  for(s_iter=Stulist.begin(); s_iter!=Stulist.end(); s_iter++)</p><p><b>  {</b></p><p>  Delestu<<s_iter->Getsnumber()<<""<<s_iter->G

49、etsname()<<""<<s_iter-></p><p>  Getssex()<<""<<s_iter->Getsage()<<""<<s_iter->Getsdapt()<<""<<s_iter-><

50、/p><p>  Getsrutime()<<""<<s_iter->Getsbiyetime()<<""<<s_iter->Getsjieyuetime()</p><p>  <<""<<s_iter->Getsjiecount()<&

51、lt;endl;</p><p><b>  }</b></p><p>  cout<<"刪除成功!"<<endl;</p><p><b>  }</b></p><p>  else if(judge==0)</p><p>

52、<b>  {</b></p><p>  cout<<"未找到相應學生編號,無法刪除!"<<endl;</p><p><b>  }</b></p><p><b>  else{;}</b></p><p><b> 

53、 五、調試與測試</b></p><p>  根據(jù)題目要求,完成相關類的設計后,實現(xiàn)對相關業(yè)務實體的新增、刪除、屬性編輯、查詢等操作; 實現(xiàn)圖書管理中所有業(yè)務實體的保存與打開等文件操作。在完成代碼編寫后對程序進行運行調試和測試。</p><p><b>  登錄前進行登錄選擇</b></p><p><b>  圖7.登錄

54、選擇</b></p><p>  2、選擇管理員登錄后</p><p><b>  圖8.管理員登錄后</b></p><p>  管理員在登錄后,可以對圖書、學生、管理員、教工、借書記錄、管理用戶登錄等幾項操作進行選擇操作,由于操作類別過多,操作原理基本相同,在這里選擇對圖書操作為例。</p><p>  

55、圖 9.選擇對圖書操作</p><p>  圖10.查詢刪除前所有圖書</p><p>  圖 11.刪除編號100000的圖書</p><p>  圖 12.查詢刪除圖書后所有圖書</p><p><b>  圖 13.增加圖書</b></p><p>  圖 14.增加圖書后查詢所有圖書<

56、;/p><p>  圖15.編輯圖書屬性</p><p><b>  選擇讀者登錄后</b></p><p><b>  圖16.讀者登錄后</b></p><p>  選擇讀者登錄后,會進入到讀者程序塊。讀者可以查詢圖書,在查詢圖書時不需要進行用戶驗證,可以查詢全部圖書或按圖書編號進行查詢。讀者如果要

57、查詢自己的借閱情況必須進行用戶驗證,才能看見自己的借閱圖書信息。</p><p><b>  圖 17.讀者查詢</b></p><p>  圖 18.讀者查詢所有圖書</p><p>  圖19.讀者查詢自己借書情況</p><p>  在圖書借閱記錄管理的操作中,對借閱記錄的增加時,會打開圖書文本文件對圖書的“是否借

58、閱”進行修改,使之改為“已借”(由0或1判斷)。在還書過程中由管理員對借閱記錄的還書時間(在增加借閱時間的時候默認為0000.00.00)進行修改。同時在打開圖書文本文件對圖書的是否借閱進行修改,改為“未借”(由0或1判斷)。</p><p><b>  六、實習日志</b></p><p>  2012年2月20日</p><p>  在剛剛

59、過完寒假來的時候,就開始進行了C++面向對象程序設計。在之前已經(jīng)確定了題目,今天在老師的幫助下,對設計內容進行了分析,確定了大致方向。對未來幾天的實習進行了初步的安排,書寫了書面的實施計劃書。</p><p>  2012年2月21日</p><p>  今天的主要目的是開始對程序的功能進行分析,該程序設計題要求是對圖書、管理員、學生、教工、借閱記錄幾個業(yè)務實體能夠進行增加、刪除、編輯和查

60、詢。實現(xiàn)對以上幾個實體的保存與打開文件等操作。對程序運行時程序運行步驟進行了分析。確定了設計幾個類,類的組成。</p><p>  2012年2月22日</p><p>  開始進行類的設計和完成相應的代碼。今天的任務主要完成了圖書類(Book)和它的派生類MangBook類的設計。在初步設計的時候會遇到一些困難。在進行代碼的編寫的同時還要進行知識的復習。不停的翻閱課本和上網(wǎng)查閱資料。基本

61、上算是完成了基本圖書類的設計。</p><p>  2012年2月23日</p><p>  在昨天的基礎上設計了圖書管理類(MangLibrary),在管理圖書類里面采用容器,對來存儲信息。在MangLibrary類里面設計了一個Mangbooks()函數(shù),來實現(xiàn)對管理圖書業(yè)務的增加、刪除、查詢和編輯屬性等操作。</p><p>  2012年2月24日-2012

62、年2月25日</p><p>  在有昨天的基礎上進行著下一個類的設計,在這兩天中,設計了學生類(Studnet)、學生管理類(MangStudent)、管理員類(Administrator)、管理員管理類(MangAdm)。在各個基礎類中定義各自的屬性,和訪問器函數(shù)。在各個管理類中定義相應的管理函數(shù),對相應業(yè)務實體進行了增加、刪除、查詢和編輯屬性等操作。</p><p>  2012年2

63、月26日-2012年2月27日</p><p>  在這三天的時間里,對接下來設計的借閱記錄類(RecordBooks)、借閱記錄管理類(MangRecordbook)、密碼類(Asmpassword)、管理員登錄類(Admlogin)、讀者登錄類(Teaderlogin)、教工類(Teacher)、教工管理類(MangTeacher)進行了代碼的編寫。在各個基礎類中定義各自的屬性,和訪問器函數(shù)。在各個管理類中定

64、義相應的管理函數(shù),對相應業(yè)務實體進行了增加、刪除、查詢和編輯屬性等操作。對設計好的類進一步優(yōu)化設計,完善相應的功能操作。</p><p>  2012年2月28日</p><p>  在將類全部設計完以后在主函數(shù)里面設計讀者登錄和管理員登錄類變量,對管理類的函數(shù)進行調用。完成程序的運行。</p><p>  2012年2月29日</p><p&g

65、t;  主要進行了程序的調試。檢查程序是否存在漏洞,對程序給個環(huán)節(jié)進一步的優(yōu)化和完善。今本完成了本次設計的要求。完成了對各個業(yè)務實體的曾加、刪除、編輯、查詢;完成對各個業(yè)務實體的保存和打開文件操作??粗Y果還是挺滿意的,只有唯一的遺憾是未能做出本程序的界面。</p><p><b>  2012年3月1日</b></p><p>  開始撰寫本次實習的報告論文。制作設

66、計的各個類的UML圖示。對程序運行的部分環(huán)節(jié)進行了截圖。今本完善了論文的初稿。</p><p><b>  2012年3月2日</b></p><p>  在上午完成實習答辯需要的PPT。對論文做了進一步的修改。在下午進行了答辯,介紹了自己所設計的各個實體的類和功能。</p><p><b>  七、實習總結</b><

67、;/p><p>  在本次實現(xiàn)的過程中,自己不斷的翻閱課本和在網(wǎng)上查詢相應的資料。第一個目的完成了題目設計的要求,覺得很欣慰。第二個目的,實現(xiàn)對C++編程的進一步了解,對類設計的安排有了進一步的體會。在用C++面向對象程序設計的時候,設計出一個合理的、合適的類來的是完成相應程序設計的基礎。</p><p>  在本次的實現(xiàn)階段我體會到,做事情要有安排,要有想法。對事情有一定的管理分類,就像本次

68、設計的圖書管理系統(tǒng)一樣。在管理的同時要有清晰的思路。在本次程序設計的時候唯一的遺憾是未能實現(xiàn)本系統(tǒng)的界面設計。由于時間的原因,界面的設計只是完成了一點點。對初學Qt編程有了一定的了解。在完成實習階段后,我還將繼續(xù)學習界面的設計。</p><p>  這次設計讓我進一步培養(yǎng)了自學,自律,自覺的好習慣。進一步了解了C++面向對象程序設計的思想。</p><p>  八、附錄:核心代碼清單<

69、;/p><p>  1、各個類設計.h核心代碼</p><p>  1)教工類(Teacher.h代碼)</p><p>  class Teacher</p><p><b>  {</b></p><p><b>  private:</b></p><p

70、>  int tnumber;</p><p>  string tname;</p><p>  string tsex;</p><p><b>  int tage;</b></p><p>  string tdpat;</p><p>  string trutime;</p

71、><p>  string tjieyuetime;</p><p>  int tjiecount;</p><p><b>  public:</b></p><p>  Teacher(int number=0,string name="0",string sex="0",int

72、 age=0,string dpat="0",</p><p>  string rutime="0",string jieyuetime="0",int jiecount=0);</p><p>  virtual ~Teacher();</p><p>  int Gettnumber();</p

73、><p>  void Settnumber(int number);</p><p>  string Gettname();</p><p>  void Settname(string name);</p><p>  string Gettsex();</p><p>  void Settsex(string s

74、ex);</p><p>  int Gettage();</p><p>  void Settage(int age);</p><p>  string Gettdpat();</p><p>  void Settdpat(string dpat);</p><p>  string Gettrutime();

75、</p><p>  void Settrutime(string rutime);</p><p>  string Gettjieyuetime();</p><p>  void Settjieyuetime(string jieyuetime);</p><p>  int Gettjiecount();</p><

76、;p>  void Settjiecount(int jiecount);</p><p>  void Teachershow();</p><p><b>  };</b></p><p>  2)學生類.h核心代碼</p><p>  class Student</p><p><

77、;b>  {</b></p><p><b>  private:</b></p><p>  int snumber;</p><p>  string sname;</p><p>  string ssex;</p><p><b>  int sage;<

78、/b></p><p>  string sdapt;</p><p>  string srutime;</p><p>  string sbiyetime;</p><p>  string sjieyuetime;</p><p>  int sjiecount;</p><p>

79、<b>  public:</b></p><p>  Student(int number=0,string name="0",string sex="0",int age=0,string dapt="0",string rutime="0",string biyetime="0",<

80、;/p><p>  string jieyuetime="0",int jiecount=0);</p><p>  virtual ~Student();</p><p>  int Getsnumber();</p><p>  void Setsnumber(int number);</p><p&g

81、t;  string Getsname();</p><p>  void Setsname(string name);</p><p>  string Getssex();</p><p>  void Setssex(string sex);</p><p>  int Getsage();</p><p>  

82、void Setsage(int age);</p><p>  string Getsdapt();</p><p>  void Setsdapt(string dapt);</p><p>  string Getsrutime();</p><p>  void Setsrutime(string rutime);</p>

83、<p>  string Getsbiyetime();</p><p>  void Setsbiyetime(string biyetime);</p><p>  string Getsjieyuetime();</p><p>  void Setsjieyuetime(string jieyutime);</p><p&g

84、t;  int Getsjiecount();</p><p>  void Setsjiecount(int jiecount);</p><p>  void Studentshow();</p><p><b>  };</b></p><p>  3)借閱記錄類.h核心代碼</p><p>

85、;  class RecordBooks</p><p><b>  {</b></p><p><b>  private:</b></p><p>  int rnumber;</p><p>  int rbooknumber;</p><p>  int rreadn

86、umber;</p><p>  string rjieyuetime;</p><p>  string rhuanshutime;</p><p>  int radmnumber;</p><p><b>  public:</b></p><p>  RecordBooks(int num

87、ber=0,int booknumber=0,int readnumber=0,string jieyuetime="0",string huanshutime="0",int admnumber=0);</p><p>  virtual ~RecordBooks();</p><p>  void Setrnumber(int number);&

88、lt;/p><p>  int Getrnumber();</p><p>  void Setrbooknumber(int booknumber);</p><p>  int Getrbooknumber();</p><p>  void Setrreadnumber(int readnumber);</p><p&g

89、t;  int Getrreadnumber();</p><p>  void Setrjieyuetime(string jieyuetime);</p><p>  string Getrjieyuetime();</p><p>  void Setrhuanshutime(string huanshutime);</p><p> 

90、 string Getrhuanshutime();</p><p>  void Setradmnumber(int admnumber);</p><p>  int Getradmnumber();</p><p>  void RecordBookshow();</p><p>  void RecordBookshowread();

91、</p><p><b>  };</b></p><p>  4)圖書類.h核心代碼</p><p>  class Book</p><p><b>  {</b></p><p><b>  private:</b></p><

92、p>  string bname;</p><p>  int bnumber;</p><p>  string bstype;</p><p>  string bzname;</p><p>  string bchuban;</p><p>  string bchubantime;</p>

93、<p>  string brukutime;</p><p>  int byeshu;</p><p>  int bdingjia;</p><p>  int bjieyue;//借閱為0為未借,為1為已借</p><p><b>  public:</b></p><p>&

94、lt;b>  Book(){};</b></p><p>  Book(string name= "0",int number=0,string stype= "0",string zname= "0",string chuban= "0",</p><p>  string chubanti

95、me= "0",string rukutime= "0",int yeshu=0,int dingjia=0,int jieyue=0);</p><p>  ~Book() {};</p><p>  void Setbname(string name);//設置書名</p><p>  string Getbname();

96、//返回書名</p><p>  void Setbnumber(int number);//設置書號</p><p>  int Getbnumber();//返回書號</p><p>  void Setbstype(string stype);</p><p>  string Getstype();</p><p&

97、gt;  void Setbzname(string name);</p><p>  string Getbzname();</p><p>  void Setbchuban(string chuban);</p><p>  string Getbchuban();</p><p>  void Setbchubantime(strin

98、g chubantime);</p><p>  string Getbchubantime();</p><p>  void Setbrukutime(string rukutime);</p><p>  string Getbrukutime();</p><p>  void Setbyeshu(int yeshu);</p&

99、gt;<p>  int Getbyeshu();</p><p>  void Setbdingjia(int dingjia);</p><p>  int Getbdingjia();</p><p>  void Setbjieyue(int jieyue);</p><p>  int Getbjieyue();<

100、;/p><p><b>  };</b></p><p>  5)管理員類.h核心代碼</p><p>  class Administrator</p><p><b>  {</b></p><p><b>  private:</b></p>

101、;<p>  int anumber;</p><p>  string aname;</p><p>  string astation;</p><p><b>  public:</b></p><p>  Administrator(int number=0,string name="0&

102、quot;,string sta="0");</p><p>  virtual ~Administrator();</p><p>  void Setanumber(int number);</p><p>  int Getanumber();</p><p>  void Setaname(string name)

103、;</p><p>  string Getaname();</p><p>  void Setastation(string sta);</p><p>  string Getastation();</p><p>  void AdminiShow();</p><p><b>  };</b&

104、gt;</p><p>  6)MangBook類.h核心代碼</p><p>  class MangBook:public Book</p><p><b>  {</b></p><p><b>  public:</b></p><p>  MangBook(stri

105、ng name= "0",int number=0,string stype= "0",string zname= "0",string chuban= "0",string chubantime= "0",string rukutime= "0",int yeshu=0,int dingjia=0,int jieyu

106、e=0);</p><p>  void show();</p><p>  void showbook();</p><p>  virtual ~MangBook();</p><p><b>  };</b></p><p>  7)圖書管理類.h核心代碼</p><p&

107、gt;  class MangLirary</p><p><b>  {</b></p><p><b>  public:</b></p><p>  MangLirary();</p><p>  void Mangbooks();</p><p>  virtual

108、~MangLirary();</p><p><b>  };</b></p><p>  8)借閱記錄管理類.h核心代碼</p><p>  class MangRecordbook</p><p><b>  {</b></p><p><b>  public

109、:</b></p><p>  MangRecordbook();</p><p>  void ManageRecord();</p><p>  virtual ~MangRecordbook();</p><p><b>  };</b></p><p>  9)學生管理類.h核

110、心代碼</p><p>  class MangStudent</p><p><b>  {</b></p><p><b>  public:</b></p><p>  MangStudent();</p><p>  void ManageStudent();<

111、/p><p>  virtual ~MangStudent();</p><p><b>  };</b></p><p>  10)教工管理類.h核心代碼</p><p>  class MangTeacher</p><p><b>  {</b></p>&l

112、t;p><b>  public:</b></p><p>  MangTeacher();</p><p>  void ManageTeacher();</p><p>  virtual ~MangTeacher();</p><p><b>  };</b></p>&l

113、t;p>  11)管理員管理類.h核心代碼</p><p>  class MangAdm</p><p><b>  {</b></p><p><b>  public:</b></p><p>  MangAdm();</p><p>  void MangAdm

114、inistrator();</p><p>  virtual ~MangAdm();</p><p><b>  };</b></p><p>  12)MangLirary類.h核心代碼</p><p>  class Admpassword</p><p><b>  {</

115、b></p><p><b>  public:</b></p><p>  Admpassword(int number=0,int passw=0);</p><p>  virtual ~Admpassword();</p><p>  void Setnumber(int number);</p>

116、;<p>  int Getnumber();</p><p>  void Setpassword(int passw);</p><p>  int Getpassword();</p><p>  void showpass();</p><p><b>  private:</b></p>

117、;<p>  int admnumber;</p><p>  int password;</p><p><b>  };</b></p><p>  13)管理員登錄類.h核心代碼</p><p>  class Admlogin</p><p><b>  {<

118、/b></p><p><b>  public:</b></p><p>  Admlogin();</p><p>  void Aministratorlogin();</p><p>  virtual ~Admlogin();</p><p><b>  };</b

119、></p><p>  14)讀者登錄類.h核心代碼</p><p>  using namespace std;</p><p>  class Readerlogin</p><p><b>  {</b></p><p><b>  public:</b><

120、/p><p>  Readerlogin();</p><p>  void Readerloginlibrary();</p><p>  virtual ~Readerlogin();</p><p><b>  };</b></p><p>  2、部分類設計.CPP核心代碼</p>

121、<p>  1)學生管理類.CPP核心代碼</p><p>  #include "MangStudent.h"</p><p>  void MangStudent::ManageStudent()</p><p><b>  {</b></p><p>  int snumber;&

122、lt;/p><p>  string sname;</p><p>  string ssex;</p><p><b>  int sage;</b></p><p>  string sdapt;</p><p>  string srutime;</p><p>  st

123、ring sbiyetime;</p><p>  string sjieyuetime;</p><p>  int sjiecount;</p><p>  list<Student> Stulist;</p><p>  list<Student>::iterator s_iter=Stulist.begin()

124、;</p><p>  list<Student>::iterator iter=Stulist.begin();</p><p>  ifstream infile2;</p><p>  infile2.open("Student.txt",ios::in);</p><p>  infile2>&g

125、t;snumber>>sname>>ssex>>sage>>sdapt>>srutime>>sbiyetime>>sjieyuetime>>sjiecount;</p><p>  Student std(snumber,sname,ssex,sage,sdapt,srutime,sbiyetime,sjieyueti

126、me,sjiecount);</p><p>  Stulist.push_back(std);</p><p>  while(infile2>>snumber>>sname>>ssex>>sage>>sdapt>>srutime>>sbiyetime>>sjieyuetime>>

127、sjiecount)</p><p><b>  {</b></p><p>  Student std(snumber,sname,ssex,sage,sdapt,srutime,sbiyetime,sjieyuetime,sjiecount);</p><p>  Stulist.push_back(std);</p><

128、;p><b>  }</b></p><p>  cout<<"*******************************************************"<<endl;</p><p>  cout<<"1、新增學生\t2、刪除學生\t3、編輯學生屬性"<&l

129、t;endl;</p><p>  cout<<"4、查詢學生\t0、退出"<<endl;</p><p>  cout<<"*******************************************************"<<endl;</p><p>  cou

130、t<<"請輸入所選操作(1 2 3 4······)"<<endl;</p><p>  int choice;</p><p>  cin>>choice;</p><p>  while(choice!=0)</p><p>

131、;<b>  {</b></p><p>  switch(choice)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p><b>  {</b></p><p><

132、b>  //增加學生</b></p><p>  cout<<"請輸入-->學號(20100128**):"<<endl;</p><p>  cin>>snumber;</p><p>  cout<<"請輸入-->姓名:"<<endl

133、;</p><p>  cin>>sname;</p><p>  cout<<"請輸入-->性別:"<<endl;</p><p>  cin>>ssex;</p><p>  cout<<"請輸入-->年齡:"<<e

134、ndl;</p><p>  cin>>sage;</p><p>  cout<<"請輸入-->學院:"<<endl;</p><p>  cin>>sdapt;</p><p>  cout<<"請輸入-->入學時間(****.**.**

135、):"<<endl;</p><p>  cin>>srutime;</p><p>  cout<<"請輸入-->畢業(yè)時間(****.**.**):"<<endl;</p><p>  cin>>sbiyetime;</p><p>  cout

136、<<"請輸入-->借閱時長限制(*個月):"<<endl;</p><p>  cin>>sjieyuetime;</p><p>  cout<<"請輸入-->借閱數(shù)量限制:"<<endl;</p><p>  cin>>sjiecount;

137、</p><p>  ofstream Addstu;</p><p>  Addstu.open("Student.txt",ios::app);</p><p>  Addstu<<snumber<<" "<<sname<<" "<<ssex&

138、lt;<" "<<sage<<" "<<sdapt<<" "<<srutime<<" "<<sbiyetime<<" "<<sjieyuetime<<" "<<sjiecount&l

溫馨提示

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

評論

0/150

提交評論