版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課 程 設(shè) 計(jì) 報(bào) 告</p><p> 課程名稱 C++課程設(shè)計(jì) </p><p> 課題名稱 圖書管理系統(tǒng)設(shè)計(jì) </p><p> 題目三:圖書管理系統(tǒng)設(shè)計(jì)</p><p> ?。ㄒ唬?、課程設(shè)計(jì)題目:</p><p><b&g
2、t; 圖書管理系統(tǒng)設(shè)計(jì)</b></p><p><b> ?。ǘ?、要求: </b></p><p> 使用二進(jìn)制文件方式存儲(chǔ)數(shù)據(jù),系統(tǒng)以菜單方式工作</p><p> ?。ㄈ?、設(shè)計(jì)方法和基本原理: </p><p><b> 1、功能描述: </b></p>&l
3、t;p> ?。?)新進(jìn)圖書基本信息的輸入。</p><p> ?。?)圖書基本信息的查詢。</p><p> ?。?)對(duì)撤消圖書信息的刪除。</p><p> ?。?)為借書人辦理注冊(cè)。</p><p> ?。?)辦理借書手續(xù)。</p><p> (6)辦理還書手續(xù)。</p><p>
4、 2、問(wèn)題的解決方案: </p><p> 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟: </p><p> (1)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);</p><p> ?。?)分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系包括屬性和行為; </p><p> ?。?)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類層次; </p>
5、;<p> ?。?)完成類層次中各個(gè)類的描述(包括屬性和方法); </p><p> ?。?)完成類中各個(gè)成員函數(shù)的定義; </p><p> ?。?)完成系統(tǒng)的應(yīng)用模塊; </p><p><b> ?。?)功能調(diào)試; </b></p><p> ?。?)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書</p&g
6、t;<p> 一、設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求</p><p><b> 1.課程設(shè)計(jì)目的:</b></p><p> 從課程設(shè)計(jì)的實(shí)踐活動(dòng)中獲得知識(shí)提高。要求學(xué)生達(dá)到熟練掌握C++語(yǔ)言的基本知識(shí)和技能;基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的思想和方法;能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問(wèn)題,從而提高動(dòng)手編程解決實(shí)際問(wèn)題的能力。</p>
7、<p><b> 2.總體設(shè)計(jì)</b></p><p> 2.1 系統(tǒng)功能分析:</p><p> 系統(tǒng)通過(guò)調(diào)用函數(shù)來(lái)實(shí)現(xiàn)刪除圖書、讀者信息,添加圖書、讀者信息等功能。delbook( )函數(shù)用于刪除圖書信息;addbook( )函數(shù)用于增加圖書信息;borrowbook( )函數(shù)用于實(shí)現(xiàn)借書操作;returnbook( )函數(shù)用于實(shí)現(xiàn)還書操作等等
8、;主函數(shù)用于掉用這些函數(shù)。</p><p> 2.2系統(tǒng)功能模塊劃分與設(shè)計(jì)</p><p> 本系統(tǒng)定義了Book類、BDatebase類、Reader類、RDatebase類這四個(gè)類,定義了addbook ( )、addreader( )、borrowbook ( )、setname( )等函數(shù)來(lái)實(shí)現(xiàn)系統(tǒng)所需功能。</p><p> 2.3 系統(tǒng)功能模塊圖:
9、</p><p><b> 3.3.詳細(xì)設(shè)計(jì)</b></p><p> 3.1 讀者類的設(shè)計(jì)</p><p> 該類定義了借書操作,還書操作,設(shè)置讀者姓名等功能。</p><p><b> 圖 3.1</b></p><p> 3.2 讀者庫(kù)類類的設(shè)計(jì)</p&
10、gt;<p> 該類實(shí)現(xiàn)了建立讀者的個(gè)人資料,刪除讀者信息,輸出讀者信息等功能。</p><p><b> 圖 3.2</b></p><p> 3.3 圖書類的設(shè)計(jì)</p><p> 圖書類,可以實(shí)現(xiàn)對(duì)圖書的描述,圖書的編號(hào),書名,借出,還入等操作。</p><p><b> 圖 3.
11、3</b></p><p> 3.4 圖書庫(kù)類的設(shè)計(jì)</p><p><b> 圖 3.4</b></p><p><b> 4.調(diào)試與測(cè)試:</b></p><p><b> 4.1系統(tǒng)調(diào)試</b></p><p> 在調(diào)試過(guò)程中
12、,出現(xiàn)了一些錯(cuò)誤。</p><p> 1、輸入數(shù)據(jù)時(shí),輸錯(cuò)了數(shù)據(jù)的類型會(huì)造成死循環(huán),因此輸入時(shí)需要注意。</p><p> 2、一開(kāi)始主界面輸入非正確數(shù)字時(shí),沒(méi)有提示錯(cuò)誤。容易造成用戶誤解</p><p><b> 圖4.1</b></p><p> 在主函數(shù)的switch語(yǔ)句結(jié)束處加上default:cout&
13、lt;<"輸入錯(cuò)誤,請(qǐng)從新輸入:";就可以了,修改后:</p><p><b> 圖4.2 </b></p><p><b> 具體調(diào)試過(guò)程。</b></p><p><b> 主界面</b></p><p><b> 圖4.3&l
14、t;/b></p><p><b> 圖書維護(hù)</b></p><p><b> 圖4.4</b></p><p><b> 讀者維護(hù)</b></p><p><b> 圖4.1</b></p><p><b&g
15、t; 5.結(jié)果分析</b></p><p> 本程序總共設(shè)計(jì)了四個(gè)類,滿足了課題對(duì)類的要求,在設(shè)計(jì)的過(guò)程中,建立了較為清晰的類層次,也利用了面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì),做到了每個(gè)借閱者建立一個(gè)賬戶,賬戶中存儲(chǔ)借閱者的個(gè)人信息、借閱信息等要求。而且界面美觀,容易操作。但是程序太長(zhǎng),不夠簡(jiǎn)練,導(dǎo)致出現(xiàn)錯(cuò)誤很難發(fā)現(xiàn)和修改。</p><p><b>
16、; 總結(jié)</b></p><p><b> 感想和體會(huì):</b></p><p> 通過(guò)這次的課程設(shè)計(jì),讓我們充分的感覺(jué)到了要自己設(shè)計(jì)一個(gè)程序是多么的難,以及學(xué)習(xí)好c++是多么的重要。</p><p> 在這個(gè)程序的設(shè)計(jì)過(guò)程中,我們清楚的意識(shí)到自己的水平有多么的薄弱,課程的知識(shí)學(xué)得有多么的不扎實(shí)。看網(wǎng)上的例子好像覺(jué)得也沒(méi)那么
17、難,自己一上機(jī)實(shí)際操作就出現(xiàn)了很多問(wèn)題,調(diào)試的時(shí)候系統(tǒng)總是在報(bào)錯(cuò),還有很多警告,每增加一個(gè)函數(shù)就要調(diào)試好久,有時(shí)候應(yīng)為少了一個(gè)大括號(hào)或是分號(hào),導(dǎo)致要找很久很久。雖然系統(tǒng)可以運(yùn)行,也具有了一些基本的功能,但我們意識(shí)到了自己有太多的不足。</p><p> 以后還會(huì)有很多的課程設(shè)計(jì),一定要吸取這次的教訓(xùn),把知識(shí)學(xué)懂學(xué)透學(xué)精,真正的為我所用,這樣走上社會(huì)我們才能真正的發(fā)揮所長(zhǎng)。</p><p>
18、; 我們?nèi)齻€(gè)人分工合作,組長(zhǎng)彭愛(ài)賢負(fù)責(zé)對(duì)程序的編譯,通過(guò)不斷的嘗試和學(xué)習(xí),最終制成程序的最初模式!謝經(jīng)緯負(fù)責(zé)對(duì)程序的修改。沈維健負(fù)責(zé)后期制作,總結(jié)組內(nèi)的制作經(jīng)驗(yàn)!通過(guò)努力,得以在規(guī)定的時(shí)間內(nèi)完成任務(wù)。</p><p> 這一次的C++課程設(shè)計(jì)讓我們學(xué)到了很多知識(shí),懂得如何發(fā)現(xiàn)問(wèn)題,并解決!</p><p> 非常感謝老師及同學(xué)們的幫助,讓我們有這一個(gè)機(jī)會(huì)好好學(xué)習(xí)C++的更廣泛的知識(shí)。
19、</p><p><b> 7、</b></p><p> 7.1 源程序清單:</p><p> #include <iostream> </p><p> #include <iomanip> //定義控制符</p><p> #include <s
20、tring> //包含string的頭文件</p><p> #include <fstream> //用來(lái)支持對(duì)磁盤文件的輸入輸出</p><p> using namespace std; </p><p> const int Maxr=100;</p><p> const int Maxb=100;
21、</p><p> const int Maxbor=5; //以上三行聲明Maxr、Maxb、Maxbor為常數(shù)據(jù)成員</p><p> class Reader //聲明類類型為讀者</p><p><b> { </b></p><p> private: //聲明以下部分為私有的<
22、/p><p> int tag; //</p><p> int no; //定義編號(hào)為整型</p><p> char name[10]; //定義長(zhǎng)度為10的名字?jǐn)?shù)組字符串</p><p> int borbook[Maxbor]; //定義整型借書數(shù)組</p><p> public:
23、 //聲明以下部分為公用的</p><p> Reader() {} //Reader類構(gòu)造函數(shù)</p><p> char *getname() {return name;} //虛函數(shù),返回name</p><p> int gettag() {return tag;} //虛函數(shù),返回tag</p><
24、p> int getno() {return no;} //虛函數(shù),返回No.</p><p> void setname(char na[]) //設(shè)置讀者姓名函數(shù)</p><p><b> { </b></p><p> strcpy(name,na); //復(fù)制字符串</p><p&
25、gt;<b> } </b></p><p> void delbook(){ tag=1; } //刪去圖書信息</p><p> void addreader(int n,char *na) //增加讀者信息</p><p><b> { </b></p><p><b&g
26、t; tag=0; </b></p><p><b> no=n; </b></p><p> strcpy(name,na); </p><p> for(int i=0;i<Maxbor;i++) </p><p> borbook[i]=0; </p><p>&
27、lt;b> } </b></p><p> void borrowbook(int bookid) //定義借書函數(shù),且借圖書編號(hào)為整型</p><p><b> { </b></p><p> for(int i=0;i<Maxbor;i++) </p><p><b>
28、 { </b></p><p> if (borbook[i]==0) </p><p><b> { </b></p><p> borbook[i]=bookid; </p><p><b> return; </b></p><p><b&g
29、t; } </b></p><p><b> } </b></p><p><b> } </b></p><p> int retbook(int bookid)</p><p><b> { </b></p><p> for
30、(int i=0;i<Maxbor;i++) </p><p><b> { </b></p><p> if(borbook[i]==bookid) </p><p><b> { </b></p><p> borbook[i]=0; </p><p>
31、return 1; </p><p><b> } </b></p><p><b> } </b></p><p> return 0; </p><p><b> } </b></p><p> void disp() //成員函數(shù),輸
32、出基類數(shù)據(jù)成員</p><p><b> { </b></p><p> cout << setw(5) << no <<setw(10) << name<<"借書編號(hào):["; /*設(shè)置編號(hào)字段寬度為5位,設(shè)置名字字段寬度為10位*/</p><p> for
33、(int i=0;i<Maxbor;i++) </p><p> if(borbook[i]!=0) </p><p> cout << borbook[i] << "|"; </p><p> cout << "]"<<endl; </p><p
34、><b> } </b></p><p><b> }; </b></p><p> class RDatabase //定義RDatabase類</p><p><b> { </b></p><p><b> private: </b&g
35、t;</p><p><b> int top; </b></p><p> Reader read[Maxr];</p><p><b> public: </b></p><p> RDatabase() //構(gòu)造函數(shù)</p><p><b>
36、 { </b></p><p> Reader s; </p><p><b> top=-1; </b></p><p> fstream file("reader.txt",ios::in); //在reader.txt以輸入方式打開(kāi)文件</p><p> whil
37、e (1) </p><p><b> { </b></p><p> file.read((char *)&s,sizeof(s)); </p><p> if (!file)break; //如果非file,結(jié)束循環(huán)</p><p><b> top++; </b><
38、;/p><p> read[top]=s; </p><p><b> } </b></p><p> file.close(); </p><p><b> } </b></p><p> void clear()</p><p><b&
39、gt; { </b></p><p><b> top=-1; </b></p><p><b> } </b></p><p> int addreader(int n,char *na)</p><p><b> { </b></p>&
40、lt;p> Reader *p=query(n); </p><p> if (p==NULL) </p><p><b> { </b></p><p><b> top++; </b></p><p> read[top].addreader(n,na); </p>
41、<p> return 1; </p><p><b> } </b></p><p> return 0; </p><p><b> } </b></p><p> Reader *query(int readerid) //定義query指針,且讀者編號(hào)為整型<
42、;/p><p><b> { </b></p><p> for (int i=0;i<=top;i++) </p><p> if (read[i].getno()==readerid && </p><p> read[i].gettag()==0) </p><p>
43、;<b> { </b></p><p> return &read[i]; //指向read[i]</p><p><b> } </b></p><p> return NULL; </p><p><b> } </b></p>&l
44、t;p> void disp() </p><p><b> { </b></p><p> for (int i=0;i<=top;i++) </p><p> read[i].disp(); </p><p><b> } </b></p><p>
45、 void readerdata();</p><p> ~RDatabase()</p><p><b> { </b></p><p> fstream file("reader.txt",ios::out); //使用文件與reader.txt文件建立關(guān)聯(lián)</p><p>
46、for (int i=0;i<=top;i++) </p><p> if (read[i].gettag()==0) </p><p> file.write((char *)&read[i],sizeof(read[i])); </p><p> file.close(); </p><p><b> }
47、</b></p><p><b> }; </b></p><p> void RDatabase::readerdata() </p><p><b> { </b></p><p> char choice; </p><p> char rname
48、[20]; </p><p> int readerid; </p><p> Reader *r; </p><p> while (choice!='0') </p><p><b> { </b></p><p> cout <<"\n\n\t
49、\t\t讀 者 維 護(hù)\n\n\n\t\t 1 新 增\n\n\t\t 2 更 改\n\n\t\t 3 刪 除\n\n\t\t 4 查 找\n\n\t\t 5 顯 示\n\n\t\t 6 全 刪\n\n\t\t 0 退 出"<<endl; //輸出子菜單</p><p> cin >> choice; </p><p> switch (choi
50、ce) </p><p><b> { </b></p><p> case '1': </p><p> cout << "輸入讀者學(xué)號(hào):"; </p><p> cin >> readerid; //輸入讀者編號(hào)</p>&
51、lt;p> cout << "輸入讀者姓名:"; </p><p> cin >> rname; //輸入讀者姓名</p><p> addreader (readerid,rname); </p><p><b> break; </b></p><p>
52、 case '2': </p><p> cout << "輸入讀者學(xué)號(hào):"; </p><p> cin >> readerid; //輸入讀者編號(hào)</p><p> r=query(readerid); </p><p> if (r==NULL) <
53、/p><p><b> { </b></p><p> cout << " 該讀者不存在 "<<endl; </p><p><b> break; </b></p><p><b> } </b></p><
54、p> cout << "輸入新的姓名:"; </p><p> cin >> rname; </p><p> r->setname(rname); </p><p><b> break; </b></p><p> case '3':
55、</p><p> cout << " 輸入讀者學(xué)號(hào):"; </p><p> cin >> readerid; </p><p> r=query(readerid); </p><p> if (r==NULL) </p><p><b> { <
56、;/b></p><p> cout <<" 該讀者不存在" << endl; </p><p><b> break; </b></p><p><b> } </b></p><p> r->delbook(); </p>
57、;<p><b> break; </b></p><p> case '4': </p><p> cout << "讀入讀者學(xué)號(hào):"; </p><p> cin >> readerid; </p><p> r=query(read
58、erid); </p><p> if (r==NULL) </p><p><b> { </b></p><p> cout <<"該讀者不存在"<< endl; </p><p><b> break; </b></p><
59、;p><b> } </b></p><p> r->disp(); </p><p><b> break; </b></p><p> case '5': </p><p><b> disp(); </b></p>&l
60、t;p><b> break; </b></p><p> case '6': </p><p><b> clear(); </b></p><p><b> break; </b></p><p> default:cout<<&
61、quot;輸入錯(cuò)誤,請(qǐng)重新輸入:";break; </p><p><b> } </b></p><p><b> } </b></p><p><b> } </b></p><p> class Book //定義Book類</p>
62、<p><b> { </b></p><p><b> private: </b></p><p> int price;</p><p> char author[10];</p><p><b> int tag;</b></p>&l
63、t;p><b> int no;</b></p><p> char name[20];</p><p> int onshelf; </p><p><b> public: </b></p><p><b> Book(){} </b></p>
64、<p> char *getname() { return name; }</p><p> int getno(){ return no; }</p><p> int gettag(){ return tag; }</p><p> char*getauthor(){return author;}</p><p>
65、char getprice(){return price;}</p><p> void setname(char na[]) </p><p><b> { </b></p><p> strcpy(name,na); </p><p><b> } </b></p><
66、;p> void setauthor(char au[])</p><p><b> {</b></p><p> strcpy(author,au);}</p><p> void delbook(){ tag=1;} </p><p> void addbook(int n,char *na,char
67、*au,int pr)</p><p><b> { </b></p><p><b> tag=0; </b></p><p><b> no=n; </b></p><p><b> price=pr;</b></p><p
68、> strcpy(author,au);</p><p> strcpy(name,na); </p><p> onshelf=1; </p><p><b> } </b></p><p> int borrowbook()</p><p><b> { </
69、b></p><p> if (onshelf==1) </p><p><b> { </b></p><p> onshelf=0; </p><p> return 1; </p><p><b> } </b></p><p>
70、 return 0; </p><p><b> } </b></p><p> void retbook()</p><p><b> { </b></p><p> onshelf=1; </p><p><b> } </b></
71、p><p> void disp()</p><p><b> { </b></p><p> cout << setw(6)<< "圖書編號(hào): " << no << setw(18) <<"圖書名: "<< name <&l
72、t; setw(10) <<"作者名: "<<author<<setw(18)<<"圖書單價(jià): "<<price<<setw(10)</p><p> <<(onshelf==1? "在架":"已借") <<endl; </p&g
73、t;<p><b> } </b></p><p><b> }; </b></p><p> class BDatabase //定義BDatabase類</p><p><b> { </b></p><p><b> priv
74、ate: </b></p><p> int top; </p><p> Book book[Maxb]; </p><p><b> public: </b></p><p> BDatabase()</p><p><b> { </b><
75、/p><p><b> Book b; </b></p><p><b> top=-1; </b></p><p> fstream file("book.txt",ios::in); </p><p> while (1) </p><p><
76、;b> { </b></p><p> file.read((char *)&b,sizeof(b)); </p><p> if (!file) break; </p><p><b> top++; </b></p><p> book[top]=b; </p>&l
77、t;p><b> } </b></p><p> file.close(); </p><p><b> } </b></p><p> void clear()</p><p><b> { </b></p><p><b>
78、 top=-1; </b></p><p><b> } </b></p><p> int addbook(int n,char *na,char*au,int pr)</p><p><b> { </b></p><p> Book *p=query(n); </p
79、><p> if (NULL==p) </p><p><b> { </b></p><p><b> top++; </b></p><p> book[top].addbook(n,na,au,pr); </p><p> return 1; </p>
80、<p><b> } </b></p><p> return 0; </p><p><b> } </b></p><p> Book *query(int bookid)</p><p><b> { </b></p><p&g
81、t; for (int i=0;i<=top;i++) </p><p> if (book[i].getno()==bookid &&book[i].gettag()==0) </p><p><b> { </b></p><p> return &book[i]; </p><p&
82、gt;<b> } </b></p><p> return NULL; </p><p><b> } </b></p><p> void bookdata();</p><p> void disp() </p><p><b> { </b
83、></p><p> for (int i=0;i<=top;i++) </p><p> if (book[i].gettag()==0) </p><p> book[i].disp(); </p><p><b> } </b></p><p> ~BDatabase(
84、)</p><p><b> { </b></p><p> fstream file("book.txt",ios::out); //使文件流與book.txt文件建立關(guān)聯(lián)</p><p> for (int i=0;i<=top;i++) </p><p> if (book
85、[i].gettag()==0) </p><p> file.write((char *)&book[i],sizeof(book[i])); </p><p> file.close(); </p><p><b> } </b></p><p><b> }; </b><
86、/p><p> void BDatabase::bookdata() </p><p><b> { </b></p><p> char choice; </p><p> char bauthor[10];</p><p> int bprice;</p><p>
87、; char bname[40]; </p><p> int bookid; </p><p><b> Book *b; </b></p><p> while (choice!='0') </p><p><b> { </b></p><p>
88、; cout <<"\n\n\n\t\t\t圖 書 維 護(hù) "<<endl<<endl; </p><p> cout<<"\t\t1 新 增\n \t\t2 更 改\n\t\t3 刪 除\n\t\t4 查 找\n\t\t5 顯 示\n\t\t6 全 刪\n\t\t0 退 出"<<endl; //輸出
89、子菜單</p><p> cin >> choice; </p><p> switch (choice) </p><p><b> { </b></p><p> case '1': </p><p> cout << "輸入圖書編號(hào)
90、:"<<endl; </p><p> cin >> bookid; </p><p> cout << "輸入圖書書名:"<<endl; </p><p> cin >> bname; cout<<" 輸入作者名:";</p>
91、<p> cin>>bauthor;</p><p> cout<<"輸入價(jià)格:";</p><p> cin>>bprice;</p><p> addbook(bookid,bname,bauthor,bprice);</p><p> break;
92、//結(jié)束循環(huán)</p><p> case '2': </p><p> cout << "輸入圖書編號(hào):"<<endl; </p><p> cin >> bookid; </p><p> b=query(bookid); </p><p&g
93、t; if (b==NULL) </p><p><b> { </b></p><p> cout << " 該圖書不存在 "<<endl; </p><p><b> break; </b></p><p><b> } </
94、b></p><p> cout << "輸入新的書名:"<<endl; </p><p> cin >> bname; </p><p> b->setname(bname); </p><p><b> break; </b></p&g
95、t;<p> case '3': </p><p> cout <<" 讀入圖書編號(hào):"<<endl; </p><p> cin >> bookid; </p><p> b=query(bookid); </p><p> if (b==NUL
96、L) </p><p><b> { </b></p><p> cout <<" 該圖書不存在" << endl; </p><p><b> break; </b></p><p><b> } </b></p>
97、;<p> b->delbook(); </p><p><b> break; </b></p><p> case '4': </p><p> cout << " 讀入圖書編號(hào):"<<endl; </p><p> cin &
98、gt;> bookid; </p><p> b=query(bookid); </p><p> if (b==NULL) </p><p><b> { </b></p><p> cout <<" 該圖書不存在"<< endl; </p>&l
99、t;p><b> break; </b></p><p><b> } </b></p><p> b->disp(); </p><p><b> break; </b></p><p> case '5': </p>&l
100、t;p><b> disp(); </b></p><p><b> break; </b></p><p> case '6': </p><p><b> clear(); </b></p><p><b> break; <
101、/b></p><p> default:cout<<"輸入錯(cuò)誤,請(qǐng)從新輸入:"; </p><p><b> } </b></p><p><b> } </b></p><p><b> } </b></p>&l
102、t;p> void main() //主函數(shù)</p><p><b> { </b></p><p> char choice; </p><p> int bookid,readerid; </p><p> RDatabase ReaderDB; </p><p>
103、 Reader *r; </p><p> BDatabase BookDB; </p><p><b> Book *b; </b></p><p> while(choice!='0') </p><p><b> { </b></p><p>
104、 cout <<endl<<endl<<"\t\t\t 圖 書 管 理 系 統(tǒng)\n\n\n"; </p><p> cout <<"\t\t\t1 借 書\n\n\t\t\t2 還 書 \n\n\t\t\t3 圖 書 維 護(hù)\n\n\t\t\t4 讀 者 維 護(hù)\n\n\t\t\t0 離 開(kāi)"<<endl;
105、 //輸出主菜單</p><p> cin >> choice; </p><p> switch (choice) </p><p><b> { </b></p><p> case '1': </p><p> cout <<"
106、借書 讀者學(xué)號(hào):"; </p><p> cin >>readerid; </p><p> cout <<" 圖書編號(hào): "; </p><p> cin >>bookid; </p><p> r=ReaderDB.query(readerid);</p>
107、;<p> if (NULL==r) </p><p><b> { </b></p><p> cout <<" 不存在該讀者,不能借書"<< endl; </p><p><b> break; </b></p><p><
108、b> } </b></p><p> b=BookDB.query(bookid); </p><p> if (b==NULL) </p><p><b> { </b></p><p> cout <<" 不存在該圖書,不能借書"<< endl;
109、 </p><p><b> break; </b></p><p><b> } </b></p><p> if (b->borrowbook()==0) </p><p><b> { </b></p><p> cout <
110、< " 該圖書已借出,不能借書"<< endl; </p><p><b> break; </b></p><p><b> } </b></p><p> r->borrowbook(b->getno()); </p><p><b&
111、gt; break; </b></p><p> case '2': </p><p> cout<<"還書\n 讀者學(xué)號(hào):"; </p><p> cin >>readerid; </p><p> cout << " 圖書編號(hào):&quo
112、t;; </p><p> cin >>bookid; </p><p> r=ReaderDB.query(readerid); </p><p> if (r==NULL) </p><p><b> { </b></p><p> cout <<"
113、 不存在該讀者,不能還書" << endl; </p><p><b> break; </b></p><p><b> } </b></p><p> b=BookDB.query(bookid); </p><p> if (b==NULL) </p>
114、<p><b> { </b></p><p> cout <<" 不存在該圖書,不能還書" <<endl; </p><p><b> break; </b></p><p><b> } </b></p><p&
115、gt; b->retbook(); </p><p> r->retbook(b->getno()); </p><p><b> break; </b></p><p> case '3': </p><p> BookDB.bookdata(); </p>&
116、lt;p><b> break; </b></p><p> case '4': </p><p> ReaderDB.readerdata(); </p><p><b> break; </b></p><p> default:cout<<"
溫馨提示
- 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ì)圖書管理系統(tǒng)
- c++課程設(shè)計(jì)圖書管理
- c++課程設(shè)計(jì)--圖書管理系統(tǒng)
- 圖書管理系統(tǒng)c++課程設(shè)計(jì)
- c++圖書管理系統(tǒng)課程設(shè)計(jì)
- c++圖書管理系統(tǒng)課程設(shè)計(jì)
- c++圖書管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)報(bào)告-圖書管理系統(tǒng)
- c++課程設(shè)計(jì)--圖書管理系統(tǒng)的設(shè)計(jì)
- c&c++課程設(shè)計(jì)-圖書管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--小型圖書管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告書---圖書管理系統(tǒng)
- c++課程設(shè)計(jì)(簡(jiǎn)易圖書管理系統(tǒng))實(shí)習(xí)報(bào)告
- 課程設(shè)計(jì)---課程設(shè)計(jì)圖書管理系統(tǒng)
- c課程設(shè)計(jì)---圖書管理系統(tǒng)課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)--圖書管理系統(tǒng)
- c++課程設(shè)計(jì)---圖書銷售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)--圖書管理系統(tǒng)
- c課程設(shè)計(jì)報(bào)告-- 圖書管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)(圖書管理系統(tǒng))
評(píng)論
0/150
提交評(píng)論