版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目 錄</b></p><p> 一、綜合訓(xùn)練目的與要求1</p><p> 二、綜合訓(xùn)練任務(wù)1</p><p><b> 三、總體設(shè)計(jì)1</b></p><p> 四、詳細(xì)設(shè)計(jì)說(shuō)明2</p><p> 1、類設(shè)計(jì)詳細(xì)說(shuō)名
2、2</p><p> 2、部分代碼詳解5</p><p> 1)Student類的設(shè)計(jì)5</p><p> 2)將文本文件信息存入Stulist容器6</p><p> 3)查詢學(xué)生信息6</p><p> 4)刪除學(xué)生信息7</p><p><b> 五、調(diào)試與
3、測(cè)試8</b></p><p> 1、登錄前進(jìn)行登錄選擇8</p><p> 2、選擇管理員登錄后9</p><p> 3、選擇讀者登錄后12</p><p><b> 六、實(shí)習(xí)日志14</b></p><p><b> 七、實(shí)習(xí)總結(jié)15</b&g
4、t;</p><p> 八、附錄:核心代碼清單15</p><p> 1、各個(gè)類設(shè)計(jì).h核心代碼15</p><p> 1)教工類(Teacher.h代碼)15</p><p> 2)學(xué)生類.h核心代碼16</p><p> 3)借閱記錄類.h核心代碼17</p><p>
5、 4)圖書(shū)類.h核心代碼18</p><p> 5)管理員類.h核心代碼19</p><p> 6)MangBook類.h核心代碼19</p><p> 7)圖書(shū)管理類.h核心代碼20</p><p> 8)借閱記錄管理類.h核心代碼20</p><p> 9)學(xué)生管理類.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、部分類設(shè)計(jì).CPP核心代碼22</p><p> 1)學(xué)生管理類.CPP核心代碼22</p><p> 2)讀者登錄類.CPP核心代碼30</p><p> 一、綜合訓(xùn)練目的與要求</p><p> 掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本方法,加深對(duì)面向?qū)ο蟮乃枷?,包括封裝性、繼承性、多態(tài)性的理解,掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的分析
8、、設(shè)計(jì)和實(shí)現(xiàn)方法。通過(guò)實(shí)題的分析設(shè)計(jì)、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計(jì)方法,提高程序設(shè)計(jì)能力和綜合知識(shí)運(yùn)用能力。通過(guò)課程設(shè)計(jì),培養(yǎng)學(xué)生嚴(yán)肅認(rèn)真的工作作風(fēng)。培養(yǎng)學(xué)生自學(xué)的能力。培養(yǎng)獨(dú)立思考,深入研究,分析問(wèn)題、解決問(wèn)題的能力。</p><p> 要求:(1)理解并掌握面向?qū)ο蟮某绦蛟O(shè)計(jì)方法;(2)掌握課程設(shè)計(jì)的目標(biāo)和詳細(xì)要求;</p><p> ?。?)鞏固和加深對(duì)程序設(shè)計(jì)課
9、程的理解,提高綜合運(yùn)用課程所學(xué)知識(shí)的能</p><p><b> 二、綜合訓(xùn)練任務(wù)</b></p><p> 本次所選題目及要求任務(wù)如下:</p><p> 1) 圖書(shū)管理系統(tǒng)中存在如下業(yè)務(wù)實(shí)體:圖書(shū)(編號(hào)、書(shū)名、作者、所屬科目、出版社、出版時(shí)間、入庫(kù)時(shí)間、頁(yè)數(shù)、定價(jià)等),圖書(shū)管理員(工號(hào)、名稱、崗位等),學(xué)生(學(xué)號(hào)、名稱、性別、年齡、類
10、別、所屬學(xué)院、入學(xué)時(shí)間、畢業(yè)時(shí)間、借閱時(shí)長(zhǎng)限制、借閱冊(cè)數(shù)限制等),教工(工號(hào)、名稱、性別、年齡、所屬學(xué)院、入職時(shí)間、借閱時(shí)長(zhǎng)限制、借閱冊(cè)數(shù)限制等),借閱記錄(借閱編號(hào)、圖書(shū)編號(hào)、讀者編號(hào)、借閱時(shí)間、應(yīng)還時(shí)間、圖書(shū)管理員編號(hào)等);</p><p> 2) 支持對(duì)以上相關(guān)業(yè)務(wù)實(shí)體的新增、刪除、屬性編輯、查詢等操作;</p><p> 3) 實(shí)現(xiàn)圖書(shū)管理中以上所有業(yè)務(wù)實(shí)體的保存與打開(kāi)等文件操
11、作。</p><p><b> 三、總體設(shè)計(jì)</b></p><p> 如圖1是對(duì)本次實(shí)習(xí)《簡(jiǎn)易圖書(shū)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》的總體框架圖。對(duì)本管理系統(tǒng)我對(duì)其設(shè)置了6個(gè)基礎(chǔ)類2個(gè)大類。在大類中設(shè)置相應(yīng)的管理類及相應(yīng)的函數(shù)對(duì)6個(gè)基本類進(jìn)行一些操作。在整個(gè)管理程序中,我將6個(gè)類相關(guān)的數(shù)據(jù)存儲(chǔ)在文本文件中,實(shí)現(xiàn)了對(duì)文件的讀寫(xiě)操作。在操作類里面我使用了list容器來(lái)存儲(chǔ)從文件
12、中讀取的數(shù)據(jù)。總體設(shè)計(jì)思路如圖1所示。</p><p><b> 四、詳細(xì)設(shè)計(jì)說(shuō)明</b></p><p><b> 1、類設(shè)計(jì)詳細(xì)說(shuō)名</b></p><p> 在整個(gè)系統(tǒng)中,建立了如圖2所示管理員登錄類(Admlogin)、讀者登錄類(Readerlogin),如圖3所示管理員類(Administrator)、登
13、錄密碼類(Admpassword),如圖4所示圖書(shū)類(Book)、學(xué)生類(Student),如圖5所示教工類(Teacher)、借書(shū)記錄類(RecordBooks)、如圖6所示六個(gè)管理類。</p><p> 圖2. Admlogin類和Readerlogin類的UML圖示</p><p> 在管理員登錄類中,有個(gè)Administratorlogin()函數(shù),在這個(gè)函數(shù)中,進(jìn)行打開(kāi)管理員
14、密碼文件,實(shí)現(xiàn)管理員身份驗(yàn)證。登錄后管理員可以進(jìn)行圖書(shū)管理、學(xué)生管理、管理員管理、教工管理、借書(shū)記錄管理以及對(duì)登錄用戶的管理。在每個(gè)分管理中調(diào)用圖6 所示的各個(gè)管理類中相應(yīng)的管理函數(shù)來(lái)進(jìn)行各個(gè)部分的管理。同時(shí)在管理員登錄類里面設(shè)置一個(gè)判斷,可以直接進(jìn)行對(duì)用戶登錄管理。</p><p> 圖3.Administrator類和Admpassword 類的UML圖示</p><p> 在管理
15、員類中有私有的管理員屬性和對(duì)管理員屬性操作的訪問(wèn)器函數(shù)。在登錄密碼類同樣設(shè)置私有屬性和訪問(wèn)器函數(shù)來(lái)獲得屬性或?qū)傩孕薷?。同理,圖4、圖5中的圖書(shū)類、學(xué)生類、教工類、借閱記錄類以同樣的方式來(lái)構(gòu)建相應(yīng)的類。</p><p> 圖4.Book類和Student類的UMT圖示</p><p> 圖5. Teacher類和RecordBooks類的UML圖示</p><p&
16、gt; 圖6. 管理類的UML圖示</p><p> 在管理類當(dāng)中MangBook類是Book類的一個(gè)Public派生類。為了實(shí)現(xiàn)對(duì)Book類中屬性的顯示,在show()函數(shù)和showbook()函數(shù)里面調(diào)用訪問(wèn)器函數(shù)來(lái)輸出。其它5個(gè)管理類實(shí)現(xiàn)方法大相近庭。以MangStudent類為例。在MangStudent類當(dāng)中有個(gè)ManageStudent()函數(shù),在此函數(shù)當(dāng)中采用list容器,定義一個(gè)list<
17、;Student> Stulist容器。定義文件輸入輸出流,讀寫(xiě)打開(kāi)文件。將文本文件中的信息存入Stulist容器當(dāng)中。再定義一個(gè)Stulist容器自身迭代器list<Student>::iterator s_iter = Stulist.begin()。在以后的刪除、編輯、查詢操作時(shí),就用迭代器s_iter在Stulist上查找相應(yīng)的信息來(lái)進(jìn)行操作。在信息的增加時(shí),直接以追加的方式打開(kāi)文件寫(xiě)入文件。在每一個(gè)操作結(jié)束后
18、將Stulist容器中的信息寫(xiě)入文件保存呢。在其它管理類中才用同樣的方法進(jìn)行系統(tǒng)的管理。</p><p><b> 2、部分代碼詳解</b></p><p> 下面是以MangStudent類管理Student類信息為例的部分代碼:</p><p> 1)Student類的設(shè)計(jì)</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容器和相應(yīng)迭代器</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)查詢學(xué)生信息</b></p><p> cout<<"1、顯示所有信息\t\t2、查詢某個(gè)學(xué)生"<<endl;</p><p> cout<<"請(qǐng)選擇··
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<<"全部學(xué)生信息如下:"<<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;請(qǐng)輸入您要查詢學(xué)生的編號(hào)(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<<"查詢結(jié)果如下:"<<
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<<"你要查找的學(xué)生不存在!"<<endl;</p><p><b> }</b></p&g
42、t;<p><b> }</b></p><p> else{ cout<<"無(wú)此選項(xiàng)!"<<endl;}</p><p><b> 4)刪除學(xué)生信息</b></p><p> cout<<"請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào)(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<<"未找到相應(yīng)學(xué)生編號(hào),無(wú)法刪除!"<<endl;</p><p><b> }</b></p><p><b> else{;}</b></p><p><b>
53、 五、調(diào)試與測(cè)試</b></p><p> 根據(jù)題目要求,完成相關(guān)類的設(shè)計(jì)后,實(shí)現(xiàn)對(duì)相關(guān)業(yè)務(wù)實(shí)體的新增、刪除、屬性編輯、查詢等操作; 實(shí)現(xiàn)圖書(shū)管理中所有業(yè)務(wù)實(shí)體的保存與打開(kāi)等文件操作。在完成代碼編寫(xiě)后對(duì)程序進(jìn)行運(yùn)行調(diào)試和測(cè)試。</p><p><b> 登錄前進(jìn)行登錄選擇</b></p><p><b> 圖7.登錄
54、選擇</b></p><p> 2、選擇管理員登錄后</p><p><b> 圖8.管理員登錄后</b></p><p> 管理員在登錄后,可以對(duì)圖書(shū)、學(xué)生、管理員、教工、借書(shū)記錄、管理用戶登錄等幾項(xiàng)操作進(jìn)行選擇操作,由于操作類別過(guò)多,操作原理基本相同,在這里選擇對(duì)圖書(shū)操作為例。</p><p>
55、圖 9.選擇對(duì)圖書(shū)操作</p><p> 圖10.查詢刪除前所有圖書(shū)</p><p> 圖 11.刪除編號(hào)100000的圖書(shū)</p><p> 圖 12.查詢刪除圖書(shū)后所有圖書(shū)</p><p><b> 圖 13.增加圖書(shū)</b></p><p> 圖 14.增加圖書(shū)后查詢所有圖書(shū)<
56、;/p><p> 圖15.編輯圖書(shū)屬性</p><p><b> 選擇讀者登錄后</b></p><p><b> 圖16.讀者登錄后</b></p><p> 選擇讀者登錄后,會(huì)進(jìn)入到讀者程序塊。讀者可以查詢圖書(shū),在查詢圖書(shū)時(shí)不需要進(jìn)行用戶驗(yàn)證,可以查詢?nèi)繄D書(shū)或按圖書(shū)編號(hào)進(jìn)行查詢。讀者如果要
57、查詢自己的借閱情況必須進(jìn)行用戶驗(yàn)證,才能看見(jiàn)自己的借閱圖書(shū)信息。</p><p><b> 圖 17.讀者查詢</b></p><p> 圖 18.讀者查詢所有圖書(shū)</p><p> 圖19.讀者查詢自己借書(shū)情況</p><p> 在圖書(shū)借閱記錄管理的操作中,對(duì)借閱記錄的增加時(shí),會(huì)打開(kāi)圖書(shū)文本文件對(duì)圖書(shū)的“是否借
58、閱”進(jìn)行修改,使之改為“已借”(由0或1判斷)。在還書(shū)過(guò)程中由管理員對(duì)借閱記錄的還書(shū)時(shí)間(在增加借閱時(shí)間的時(shí)候默認(rèn)為0000.00.00)進(jìn)行修改。同時(shí)在打開(kāi)圖書(shū)文本文件對(duì)圖書(shū)的是否借閱進(jìn)行修改,改為“未借”(由0或1判斷)。</p><p><b> 六、實(shí)習(xí)日志</b></p><p> 2012年2月20日</p><p> 在剛剛
59、過(guò)完寒假來(lái)的時(shí)候,就開(kāi)始進(jìn)行了C++面向?qū)ο蟪绦蛟O(shè)計(jì)。在之前已經(jīng)確定了題目,今天在老師的幫助下,對(duì)設(shè)計(jì)內(nèi)容進(jìn)行了分析,確定了大致方向。對(duì)未來(lái)幾天的實(shí)習(xí)進(jìn)行了初步的安排,書(shū)寫(xiě)了書(shū)面的實(shí)施計(jì)劃書(shū)。</p><p> 2012年2月21日</p><p> 今天的主要目的是開(kāi)始對(duì)程序的功能進(jìn)行分析,該程序設(shè)計(jì)題要求是對(duì)圖書(shū)、管理員、學(xué)生、教工、借閱記錄幾個(gè)業(yè)務(wù)實(shí)體能夠進(jìn)行增加、刪除、編輯和查
60、詢。實(shí)現(xiàn)對(duì)以上幾個(gè)實(shí)體的保存與打開(kāi)文件等操作。對(duì)程序運(yùn)行時(shí)程序運(yùn)行步驟進(jìn)行了分析。確定了設(shè)計(jì)幾個(gè)類,類的組成。</p><p> 2012年2月22日</p><p> 開(kāi)始進(jìn)行類的設(shè)計(jì)和完成相應(yīng)的代碼。今天的任務(wù)主要完成了圖書(shū)類(Book)和它的派生類MangBook類的設(shè)計(jì)。在初步設(shè)計(jì)的時(shí)候會(huì)遇到一些困難。在進(jìn)行代碼的編寫(xiě)的同時(shí)還要進(jìn)行知識(shí)的復(fù)習(xí)。不停的翻閱課本和上網(wǎng)查閱資料。基本
61、上算是完成了基本圖書(shū)類的設(shè)計(jì)。</p><p> 2012年2月23日</p><p> 在昨天的基礎(chǔ)上設(shè)計(jì)了圖書(shū)管理類(MangLibrary),在管理圖書(shū)類里面采用容器,對(duì)來(lái)存儲(chǔ)信息。在MangLibrary類里面設(shè)計(jì)了一個(gè)Mangbooks()函數(shù),來(lái)實(shí)現(xiàn)對(duì)管理圖書(shū)業(yè)務(wù)的增加、刪除、查詢和編輯屬性等操作。</p><p> 2012年2月24日-2012
62、年2月25日</p><p> 在有昨天的基礎(chǔ)上進(jìn)行著下一個(gè)類的設(shè)計(jì),在這兩天中,設(shè)計(jì)了學(xué)生類(Studnet)、學(xué)生管理類(MangStudent)、管理員類(Administrator)、管理員管理類(MangAdm)。在各個(gè)基礎(chǔ)類中定義各自的屬性,和訪問(wèn)器函數(shù)。在各個(gè)管理類中定義相應(yīng)的管理函數(shù),對(duì)相應(yīng)業(yè)務(wù)實(shí)體進(jìn)行了增加、刪除、查詢和編輯屬性等操作。</p><p> 2012年2
63、月26日-2012年2月27日</p><p> 在這三天的時(shí)間里,對(duì)接下來(lái)設(shè)計(jì)的借閱記錄類(RecordBooks)、借閱記錄管理類(MangRecordbook)、密碼類(Asmpassword)、管理員登錄類(Admlogin)、讀者登錄類(Teaderlogin)、教工類(Teacher)、教工管理類(MangTeacher)進(jìn)行了代碼的編寫(xiě)。在各個(gè)基礎(chǔ)類中定義各自的屬性,和訪問(wèn)器函數(shù)。在各個(gè)管理類中定
64、義相應(yīng)的管理函數(shù),對(duì)相應(yīng)業(yè)務(wù)實(shí)體進(jìn)行了增加、刪除、查詢和編輯屬性等操作。對(duì)設(shè)計(jì)好的類進(jìn)一步優(yōu)化設(shè)計(jì),完善相應(yīng)的功能操作。</p><p> 2012年2月28日</p><p> 在將類全部設(shè)計(jì)完以后在主函數(shù)里面設(shè)計(jì)讀者登錄和管理員登錄類變量,對(duì)管理類的函數(shù)進(jìn)行調(diào)用。完成程序的運(yùn)行。</p><p> 2012年2月29日</p><p&g
65、t; 主要進(jìn)行了程序的調(diào)試。檢查程序是否存在漏洞,對(duì)程序給個(gè)環(huán)節(jié)進(jìn)一步的優(yōu)化和完善。今本完成了本次設(shè)計(jì)的要求。完成了對(duì)各個(gè)業(yè)務(wù)實(shí)體的曾加、刪除、編輯、查詢;完成對(duì)各個(gè)業(yè)務(wù)實(shí)體的保存和打開(kāi)文件操作。看著結(jié)果還是挺滿意的,只有唯一的遺憾是未能做出本程序的界面。</p><p><b> 2012年3月1日</b></p><p> 開(kāi)始撰寫(xiě)本次實(shí)習(xí)的報(bào)告論文。制作設(shè)
66、計(jì)的各個(gè)類的UML圖示。對(duì)程序運(yùn)行的部分環(huán)節(jié)進(jìn)行了截圖。今本完善了論文的初稿。</p><p><b> 2012年3月2日</b></p><p> 在上午完成實(shí)習(xí)答辯需要的PPT。對(duì)論文做了進(jìn)一步的修改。在下午進(jìn)行了答辯,介紹了自己所設(shè)計(jì)的各個(gè)實(shí)體的類和功能。</p><p><b> 七、實(shí)習(xí)總結(jié)</b><
67、;/p><p> 在本次實(shí)現(xiàn)的過(guò)程中,自己不斷的翻閱課本和在網(wǎng)上查詢相應(yīng)的資料。第一個(gè)目的完成了題目設(shè)計(jì)的要求,覺(jué)得很欣慰。第二個(gè)目的,實(shí)現(xiàn)對(duì)C++編程的進(jìn)一步了解,對(duì)類設(shè)計(jì)的安排有了進(jìn)一步的體會(huì)。在用C++面向?qū)ο蟪绦蛟O(shè)計(jì)的時(shí)候,設(shè)計(jì)出一個(gè)合理的、合適的類來(lái)的是完成相應(yīng)程序設(shè)計(jì)的基礎(chǔ)。</p><p> 在本次的實(shí)現(xiàn)階段我體會(huì)到,做事情要有安排,要有想法。對(duì)事情有一定的管理分類,就像本次
68、設(shè)計(jì)的圖書(shū)管理系統(tǒng)一樣。在管理的同時(shí)要有清晰的思路。在本次程序設(shè)計(jì)的時(shí)候唯一的遺憾是未能實(shí)現(xiàn)本系統(tǒng)的界面設(shè)計(jì)。由于時(shí)間的原因,界面的設(shè)計(jì)只是完成了一點(diǎn)點(diǎn)。對(duì)初學(xué)Qt編程有了一定的了解。在完成實(shí)習(xí)階段后,我還將繼續(xù)學(xué)習(xí)界面的設(shè)計(jì)。</p><p> 這次設(shè)計(jì)讓我進(jìn)一步培養(yǎng)了自學(xué),自律,自覺(jué)的好習(xí)慣。進(jìn)一步了解了C++面向?qū)ο蟪绦蛟O(shè)計(jì)的思想。</p><p> 八、附錄:核心代碼清單<
69、;/p><p> 1、各個(gè)類設(shè)計(jì).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)學(xué)生類.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)圖書(shū)類.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);//設(shè)置書(shū)名</p><p> string Getbname();
96、//返回書(shū)名</p><p> void Setbnumber(int number);//設(shè)置書(shū)號(hào)</p><p> int Getbnumber();//返回書(shū)號(hào)</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)圖書(shū)管理類.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)學(xué)生管理類.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、部分類設(shè)計(jì).CPP核心代碼</p>
121、<p> 1)學(xué)生管理類.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、新增學(xué)生\t2、刪除學(xué)生\t3、編輯學(xué)生屬性"<&l
129、t;endl;</p><p> cout<<"4、查詢學(xué)生\t0、退出"<<endl;</p><p> cout<<"*******************************************************"<<endl;</p><p> cou
130、t<<"請(qǐng)輸入所選操作(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> //增加學(xué)生</b></p><p> cout<<"請(qǐng)輸入-->學(xué)號(hào)(20100128**):"<<endl;</p><p> cin>>snumber;</p><p> cout<<"請(qǐng)輸入-->姓名:"<<endl
133、;</p><p> cin>>sname;</p><p> cout<<"請(qǐng)輸入-->性別:"<<endl;</p><p> cin>>ssex;</p><p> cout<<"請(qǐng)輸入-->年齡:"<<e
134、ndl;</p><p> cin>>sage;</p><p> cout<<"請(qǐng)輸入-->學(xué)院:"<<endl;</p><p> cin>>sdapt;</p><p> cout<<"請(qǐng)輸入-->入學(xué)時(shí)間(****.**.**
135、):"<<endl;</p><p> cin>>srutime;</p><p> cout<<"請(qǐng)輸入-->畢業(yè)時(shí)間(****.**.**):"<<endl;</p><p> cin>>sbiyetime;</p><p> cout
136、<<"請(qǐng)輸入-->借閱時(shí)長(zhǎng)限制(*個(gè)月):"<<endl;</p><p> cin>>sjieyuetime;</p><p> cout<<"請(qǐng)輸入-->借閱數(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. 本站所有資源如無(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)報(bào)告-圖書(shū)管理系統(tǒng)
- c++課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
- 圖書(shū)管理系統(tǒng)c++課程設(shè)計(jì)
- c++圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- c++圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)報(bào)告--小型圖書(shū)管理系統(tǒng)
- c++圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)報(bào)告書(shū)---圖書(shū)管理系統(tǒng)
- c++課程設(shè)計(jì)圖書(shū)管理系統(tǒng)
- c++課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)的設(shè)計(jì)
- c++課程設(shè)計(jì)圖書(shū)管理
- c&c++課程設(shè)計(jì)-圖書(shū)管理系統(tǒng)
- c++課程設(shè)計(jì)圖書(shū)管理系統(tǒng) (2)
- c課程設(shè)計(jì)報(bào)告-- 圖書(shū)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告~圖書(shū)管理系統(tǒng)
- c語(yǔ)言圖書(shū)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語(yǔ)言圖書(shū)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書(shū)管理系統(tǒng)-c語(yǔ)言課程設(shè)計(jì)報(bào)告
- c#圖書(shū)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論