版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)</b></p><p> 題 目 名 稱 圖書管理系統(tǒng)設(shè)計(jì) </p><p> 課 程 名 稱 信息系統(tǒng)分析與設(shè)計(jì) </p><p> 學(xué) 生 姓
2、 名 </p><p> 學(xué) 號(hào) </p><p>
3、; 系 、專 業(yè) 理學(xué)與信息科學(xué)系 信息與計(jì)算科學(xué) </p><p> 指 導(dǎo) 教 師 </p><p> 2011年 12 月 18 日</p><p> 課程設(shè)計(jì)(論文)任務(wù)書</p><p&g
4、t; 注:1.此表由指導(dǎo)教師填寫,經(jīng)系、教研室審批,指導(dǎo)教師、學(xué)生簽字后生效;</p><p> 2.此表1式3份,學(xué)生、指導(dǎo)教師、教研室各1份。</p><p> 指導(dǎo)教師(簽字): 學(xué)生(簽字):呂季干</p
5、><p> 圖書管理系統(tǒng)設(shè)計(jì)目錄</p><p> 一.問題分析與功能定義..............................5</p><p> 二、對(duì)象(類)設(shè)計(jì)及實(shí)現(xiàn)...........................6</p><p> 核心控制設(shè)計(jì)...................................7
6、</p><p> 測(cè)試分析.......................................10</p><p> 五、源程序代碼.....................................13</p><p> 六、總結(jié)...........................................25</p>
7、<p> 七、參考文獻(xiàn).......................................26</p><p> 八、致謝........................................26</p><p><b> 圖書管理系統(tǒng)設(shè)計(jì)</b></p><p><b> 問題分析與功能定義&
8、lt;/b></p><p> 二十一世紀(jì)是信息的社會(huì),信息作為社會(huì)最主要的資源,將成為戰(zhàn)略資源引起人們廣泛的關(guān)注。如何獲取信息?圖書是我們最好的獲取信息的方式,但由于圖書館圖書收藏量大大增加,使傳統(tǒng)的圖書管理員的工作日益繁重起來。迫使人們起用新的管理方法來管理圖書,但如何把圖書管理員從繁重的工作中解脫出來呢?</p><p> 科學(xué)技術(shù)日新月異的進(jìn)步,讓人類生活發(fā)生了巨大的變化
9、,計(jì)算機(jī)技術(shù)的飛速發(fā)展,使各行各業(yè)在計(jì)算機(jī)技術(shù)應(yīng)用方面得到了廣泛的普及和使用。信息化時(shí)代的到來成為不可抗拒的潮流,人類文明正在進(jìn)入一個(gè)嶄新的時(shí)代。因此,圖書管理系統(tǒng)也以方便、快捷、費(fèi)用低的優(yōu)點(diǎn)正慢慢地進(jìn)入人們的生活,將傳統(tǒng)的圖書管理方式徹底的解脫出來,提高效率,減輕工人人員以往繁忙的工作,減小出錯(cuò)的概率,使讀者可以花更多的時(shí)間在選擇書和看書上。從而使人們有更多時(shí)間來獲取信息、了解信息、掌握信息 。</p><p>
10、;<b> 1、設(shè)計(jì)內(nèi)容及要求</b></p><p> 設(shè)計(jì)一個(gè)圖書館管理系統(tǒng),完成圖書管理和讀者管理的功能,并能對(duì)借閱信息進(jìn)行管理,要求完成一下功能,圖書資料管理,可以添加、修改、刪除、查詢書籍信息,讀者資料管理,可以添加、修改、刪除、查詢讀者信息;借書管理,可以進(jìn)行添加借書信息;還書管理,可以進(jìn)行還書信息;</p><p> 該項(xiàng)目是在Visual C++
11、 6.0的平臺(tái)下用c++語言實(shí)現(xiàn),創(chuàng)建對(duì)象,程序運(yùn)行開始,打開文件并將其分別鏈入鏈表之中;程序結(jié)束關(guān)閉并保存文件。</p><p><b> 2、模塊圖</b></p><p> 二、對(duì)象(類)設(shè)計(jì)及實(shí)現(xiàn)</p><p><b> 1、概要設(shè)計(jì)</b></p><p> Reader讀者類、
12、RDatabase 讀者庫(kù)類、Book 圖書類、BDatabase 圖書庫(kù)類</p><p><b> 2、詳細(xì)設(shè)計(jì)</b></p><p><b> 1)類的原型描述</b></p><p><b> 三、核心控制設(shè)計(jì)</b></p><p> 在主函數(shù)中我們要做的操
13、作包括:</p><p> (1)建立1個(gè)Reader讀者類、1個(gè)RDatabase 讀者庫(kù)類、1個(gè)Book 圖書類、1個(gè)BDatabase 圖書庫(kù)類</p><p> (2)建立菜單界面。完成以下內(nèi)容:</p><p> ?、龠M(jìn)入功能必須打開菜單,然后用戶根據(jù)菜單選擇相應(yīng)的操作方式,如查看數(shù)據(jù)、編輯圖書數(shù)據(jù)以及修改圖書數(shù)據(jù)、維護(hù)圖書的采購(gòu)信息。添加、刪除、查看
14、讀者個(gè)人信息,瀏覽圖書信息。</p><p> ?、?能夠?qū)D書基本信息、圖書采購(gòu)信息、圖書的借閱人信息進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)的結(jié)果能夠以表格的形式來表示。</p><p> ?。?) 將圖書基本信息、圖書采購(gòu)信息、圖書的借閱人信息存儲(chǔ)在相應(yīng)的文件中。</p><p> ?。?) 系統(tǒng)界面友好,易操作。</p><p> 2、本程序應(yīng)具備的功能:&
15、lt;/p><p> A.添加、借閱、還書功能:</p><p> (1)添加讀者和圖書信息。</p><p> (2)借閱尚在架的圖書。</p><p> (3)讀者歸還的圖書。</p><p><b> B.查找功能</b></p><p> (1) 根據(jù)圖書的
16、編號(hào)查找圖書信息。</p><p> (2)根據(jù)讀者的編號(hào)查找讀者的信息。</p><p><b> C.系統(tǒng)的操作</b></p><p> 系統(tǒng)在進(jìn)入時(shí),要有菜單提示;</p><p> 系統(tǒng)在用戶退出時(shí),有一定的提示。</p><p><b> 3、算法分析</b&
17、gt;</p><p> 1)添加操作:(讀者信息的添加與圖書信息的添加類似)</p><p> 包括兩個(gè)部分,先通過輸入設(shè)備輸入信息,系統(tǒng)獲??;然后添加入讀者數(shù)據(jù)庫(kù)read.txt文件中。</p><p><b> ?、瀚@取信息</b></p><p> void Reader::addreader(int n,
18、char *na) //增加讀者 </p><p><b> { </b></p><p><b> tag=0; </b></p><p><b> no=n; </b></p><p> strcpy(name,na); </p>
19、<p> for (int i=0;i<Maxbor;i++) </p><p> borbook[i]=0; </p><p><b> } </b></p><p> int RDatabase::addreader(int n,char *na) //增添讀者信息</p><
20、;p><b> {</b></p><p> der *p=query(n);</p><p> if (p==NULL)</p><p><b> {</b></p><p><b> top++;</b></p><p> read
21、[top].addreader(n,na);</p><p> cout<<"讀者添加成功"<<endl;</p><p><b> return 1;</b></p><p><b> }</b></p><p><b> return
22、 0;</b></p><p><b> }</b></p><p><b> 流程圖:</b></p><p> ?、嫖鰳?gòu)函數(shù)寫入新讀者的編號(hào)跟姓名</p><p> RDatabase::~RDatabase()</p><p><b&g
23、t; {</b></p><p> fstream file("reader.txt",ios::out);</p><p> for (int i=0;i<=top;i++)</p><p><b> { </b></p><p> if(read[i].gettag
24、()==0)</p><p> file.write((char *)&read[i],sizeof(read[i]));</p><p><b> else</b></p><p> file.close();</p><p><b> }</b></p><p
25、><b> }</b></p><p><b> 流程圖:</b></p><p> 借書操作:利用for語句和if語句,通過判斷圖書的borbook的編號(hào)是否為0,來判斷圖書是否未被借走或還沒有被借完。</p><p> void Reader::borrowbook(int bookid) //借書操
26、作 </p><p><b> { </b></p><p> for (int i=0;i<Maxbor;i++) </p><p> if (borbook[i]==0) </p><p><b> { </b></p><p> b
27、orbook[i]=bookid; </p><p> return; </p><p><b> } </b></p><p><b> } </b></p><p><b> 流程圖:</b></p><p> 還書操作:利用
28、for語句和if語句,通過判斷圖書的borbook的編號(hào)是否為要還書的編號(hào),來判斷是否借出此書。</p><p> int Reader::retbook(int bookid) //還書操作 </p><p><b> { </b></p><p> for(int i=0;i<Maxbor;i++) </
29、p><p><b> { </b></p><p> if(borbook[i]==bookid) </p><p><b> { </b></p><p> borbook[i]=0; </p><p> return 1; </p>
30、<p><b> } </b></p><p><b> else</b></p><p><b> continue;</b></p><p><b> } </b></p><p><b> 流程圖:</b
31、></p><p> 查找功能:利用for語句和if語句,尋找與要查詢的編號(hào)相同的讀者編號(hào)或圖書編號(hào),如果找到,向系統(tǒng)返回相應(yīng)的編號(hào),輸出相應(yīng)的信息。(讀者的查找與圖書查找類似)</p><p> Reader *query(int readerid) //按編號(hào)查找</p><p><b> {</b></p
32、><p> for (int i=0;i<=top;i++)</p><p> if(read[i].getno()==readerid&&read[i].gettag()==0)</p><p> return &read[i];</p><p> return NULL;</p><p
33、><b> }</b></p><p><b> 流程圖:</b></p><p><b> 四、測(cè)試分析</b></p><p> ?。ㄒ唬?、此系統(tǒng)存在問題</p><p> 未設(shè)登錄密碼保護(hù)系統(tǒng),是整個(gè)圖書管理系統(tǒng)失去了一定的安全性;</p>&
34、lt;p><b> 程序運(yùn)行界面 </b></p><p> 此界面運(yùn)行時(shí)選擇4有時(shí)會(huì)出現(xiàn)內(nèi)存讀取錯(cuò)誤;</p><p> 1)當(dāng)輸入錯(cuò)的數(shù)據(jù)類型時(shí) 可能導(dǎo)致內(nèi)存錯(cuò)誤;</p><p> 2)讀者、圖書信息不完善;</p><p> 3)命名不是很規(guī)范;</p><p><
35、;b> 信息存儲(chǔ)有限;</b></p><p><b> 五、源程序代碼</b></p><p> #include <iostream></p><p> #include <iomanip></p><p> #include <string></
36、p><p> #include <fstream>//輸入/輸出文件流類</p><p> using namespace std;</p><p> const int Maxr=100;//最多的讀者</p><p> const int Maxb=100;//最多的圖書</p><p> con
37、st int Maxbor=5;//每位讀者最多借五本書</p><p> //讀者類,實(shí)現(xiàn)對(duì)讀者的信息的描述</p><p> class Reader </p><p><b> { </b></p><p><b> private:</b></p>&l
38、t;p> int tag; //刪除標(biāo)記 1:已刪 0:未刪</p><p> int no; //讀者編號(hào)</p><p> char name[10]; //讀者姓名</p><p> int borbook[Maxbor];//所借圖書</p><p><b> public:</b><
39、;/p><p> Reader() {} //構(gòu)造函數(shù)</p><p> char *getname() </p><p><b> { </b></p><p> return name; </p><p> } //獲取姓名 </p><p
40、> int gettag() </p><p><b> { </b></p><p> return tag; </p><p> } //獲取刪除標(biāo)記 </p><p> int getno() </p><p><b> { </
41、b></p><p> return no; </p><p> } //獲取讀者編號(hào) </p><p> void setname(char na[]) //設(shè)置姓名 </p><p><b> { </b>&l
42、t;/p><p> strcpy(name,na); </p><p><b> } </b></p><p> void delbook() //設(shè)置刪除標(biāo)記 </p><p><b> { </b></p><p><
43、;b> tag=1; </b></p><p><b> } </b></p><p> void addreader(int n,char *na); //增加讀者 </p><p> void borrowbook(int bookid); //借書操作</p><p>
44、 int retbook(int bookid); //還書操作</p><p> void disp(); //輸出讀者信息</p><p><b> }; </b></p><p> void Reader::addreader(int n,char *na) //增加讀
45、者 </p><p><b> { </b></p><p><b> tag=0; </b></p><p><b> no=n; </b></p><p> strcpy(name,na); </p><p> for
46、(int i=0;i<Maxbor;i++) </p><p> borbook[i]=0; </p><p><b> } </b></p><p> void Reader::borrowbook(int bookid) //借書操作 </p><p><b> { &
47、lt;/b></p><p> for (int i=0;i<Maxbor;i++) </p><p><b> { </b></p><p> if (borbook[i]==0) </p><p><b> { </b></p><p>
48、; borbook[i]=bookid; </p><p> return; </p><p><b> } </b></p><p><b> } </b></p><p><b> } </b></p><p> in
49、t Reader::retbook(int bookid) //還書操作 </p><p><b> { </b></p><p> for(int i=0;i<Maxbor;i++) </p><p><b> { </b></p><p> if(borboo
50、k[i]==bookid) </p><p><b> { </b></p><p> borbook[i]=0; </p><p> return 1; </p><p><b> } </b></p><p><b> else&l
51、t;/b></p><p><b> continue;</b></p><p><b> } </b></p><p> return 0; </p><p><b> } </b></p><p> void Reader
52、::disp() //輸出讀者信息 </p><p><b> { </b></p><p> cout << setw(5) << no << setw(10) << name << " 借書編號(hào):["; </p>
53、<p> for (int i=0;i<Maxbor;i++) </p><p> if (borbook[i]!=0) </p><p> cout <<borbook[i] <<"|"; </p><p> cout<<"]"<<endl;
54、 </p><p><b> } </b></p><p> //讀者類庫(kù),實(shí)現(xiàn)建立讀者的個(gè)人資料</p><p> class RDatabase</p><p><b> { </b></p><p><b> private:</b&
55、gt;</p><p> int top; //讀者記錄指針</p><p> Reader read[Maxr];//讀者記錄</p><p><b> public:</b></p><p> RDatabase();//構(gòu)造函數(shù),將reader.txt讀到read[]中</p&
56、gt;<p> void clear()//刪除所有讀者信息</p><p><b> {</b></p><p><b> top=-1;</b></p><p><b> }</b></p><p> int addreader(int
57、n,char *na); //增添讀者信息</p><p> Reader *query(int readerid) //按編號(hào)查找</p><p><b> {</b></p><p> for (int i=0;i<=top;i++)</p><p> if(read[i].g
58、etno()==readerid&&</p><p> read[i].gettag()==0)</p><p> return &read[i];</p><p> return NULL;</p><p><b> }</b></p><p> void di
59、sp();//輸出所有讀者信息</p><p> int Readernum(); //得到讀者編號(hào)</p><p> void readerdata();//讀者庫(kù)維護(hù)</p><p> ~RDatabase();// 析構(gòu)函數(shù),將read[]寫入reader.txt文件中</p&
60、gt;<p><b> };</b></p><p> RDatabase::RDatabase()//構(gòu)造函數(shù),將reader.txt讀到read[]中</p><p><b> {</b></p><p><b> Reader s;</b></p>
61、<p><b> top=-1;</b></p><p> fstream file("reader.txt",ios::in);</p><p><b> while (1)</b></p><p><b> {</b></p><p&g
62、t; file.read((char *)&s,sizeof(s));</p><p> if (!file) break;</p><p><b> top++;</b></p><p> read[top]=s;</p><p><b> }</b></p>&l
63、t;p> file.close();</p><p><b> }</b></p><p> RDatabase::~RDatabase()// 析構(gòu)函數(shù),將read[]寫入reader.txt文件中</p><p><b> {</b></p><p> fstream
64、 file("reader.txt",ios::out);</p><p> 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>&
65、lt;p><b> else</b></p><p> file.close();</p><p><b> }</b></p><p> int RDatabase::addreader(int n,char *na) //增添讀者信息</p><p><b>
66、; {</b></p><p> Reader *p=query(n);</p><p> if (p==NULL)</p><p><b> {</b></p><p><b> top++;</b></p><p> read[top].addre
67、ader(n,na);</p><p> cout<<"讀者添加成功"<<endl;</p><p><b> return 1;</b></p><p><b> }</b></p><p><b> return 0;</b&g
68、t;</p><p><b> }</b></p><p> void RDatabase::disp()//輸出所有讀者信息</p><p><b> {</b></p><p> for (int i=0;i<=top;i++)</p><p>
69、; read[i].disp();</p><p><b> }</b></p><p> int RDatabase::Readernum()</p><p><b> {</b></p><p> return top;</p><p><b> }
70、</b></p><p> void RDatabase::readerdata() //讀者庫(kù)維護(hù)</p><p><b> {</b></p><p> char choice;</p><p> char rname[100]; //讀者姓名</p&g
71、t;<p> int readerid;</p><p> Reader *r;</p><p><b> do </b></p><p><b> {</b></p><p> cout <<"\n\n\t\t\t歡迎進(jìn)入讀者維護(hù)界面\n\n\n\t\
72、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&
73、gt; switch (choice)</p><p><b> {</b></p><p><b> case '1':</b></p><p> cout << "輸入讀者編號(hào):";</p><p> cin >> reade
74、rid;</p><p> cout << "輸入讀者姓名:";</p><p> cin >> rname;</p><p> addreader (readerid,rname);</p><p><b> break;</b></p><p&g
75、t;<b> case '2':</b></p><p> cout << "輸入讀者編號(hào):";</p><p> cin >> readerid;</p><p> r=query(readerid);</p><p> if (r==NULL)&l
76、t;/p><p><b> {</b></p><p> cout << " 該讀者不存在 "<<endl;</p><p><b> break;</b></p><p><b> }</b></p><p
77、> cout << "輸入新的姓名:";</p><p> cin >> rname;</p><p> r->setname(rname);</p><p><b> break;</b></p><p><b> case '3
78、9;:</b></p><p> cout << " 輸入讀者編號(hào):";</p><p> cin >> readerid;</p><p> r=query(readerid);</p><p> if (r==NULL)</p><p><b&g
79、t; {</b></p><p> cout <<" 該讀者不存在" << endl;</p><p><b> break;</b></p><p><b> }</b></p><p> r->delbook();</
80、p><p><b> break;</b></p><p><b> case '4':</b></p><p> cout << "讀入讀者編號(hào):";</p><p> cin >> readerid;</p><
81、p> r=query(readerid);</p><p> if (r==NULL)</p><p><b> {</b></p><p> cout <<"該讀者不存在"<< endl;</p><p><b> break;</b>&
82、lt;/p><p><b> }</b></p><p> r->disp();</p><p><b> break;</b></p><p><b> case '5':</b></p><p><b> dis
83、p();</b></p><p><b> break;</b></p><p><b> case '6':</b></p><p><b> clear();</b></p><p><b> break;</b>&
84、lt;/p><p> default:if (choice!='0') cout<<"輸入錯(cuò)誤,請(qǐng)從新輸入:";break;</p><p><b> }</b></p><p> }while (choice!='0');</p><p><b&g
85、t; }</b></p><p> //圖書類,實(shí)現(xiàn)對(duì)圖書的描述,圖書的編號(hào),書名,借出,還入等</p><p> class Book</p><p><b> {</b></p><p><b> private:</b></p><p> int
86、 tag;//刪除標(biāo)記 1:已刪 0:未刪</p><p> int no;//圖書編號(hào)</p><p> char name[20];//書名</p><p> int onshelf;//是否再架 1:再架 0:已借</p><p><b> public:</b></p><p>&
87、lt;b> Book(){}</b></p><p> char *getname() { return name; }//獲取姓名</p><p> int getno(){ return no; }//獲取圖書編號(hào)</p><p> int gettag(){ return tag; }//獲取刪除標(biāo)記</p><p
88、> void setname(char na[])//設(shè)置書名</p><p><b> {</b></p><p> strcpy(name,na);</p><p><b> }</b></p><p> void delbook(){ tag=1;}//刪除圖書</p&g
89、t;<p> void addbook(int n,char *na)//增加圖書</p><p><b> {</b></p><p><b> tag=0;</b></p><p><b> no=n;</b></p><p> strcpy(nam
90、e,na);</p><p> onshelf=1;</p><p><b> }</b></p><p> int borrowbook()//借書操作</p><p><b> {</b></p><p> if (onshelf==1)</p>
91、<p><b> {</b></p><p> onshelf=0;</p><p><b> return 1;</b></p><p><b> }</b></p><p><b> return 0;</b></p>
92、<p><b> }</b></p><p> void retbook()//還書操作</p><p><b> {</b></p><p> onshelf=1;</p><p><b> }</b></p><p> voi
93、d disp()//輸出圖書</p><p><b> {</b></p><p> cout << setw(6) << no << setw(18) << name << setw(10)</p><p> <<(onshelf==1? "在架"
94、;:"已借") <<endl;</p><p><b> }</b></p><p><b> };</b></p><p> //圖書庫(kù)類,實(shí)現(xiàn)對(duì)圖書的維護(hù),查找,刪除等</p><p> class BDatabase</p><p&g
95、t;<b> {</b></p><p><b> private:</b></p><p> int top; //圖書記錄指針</p><p> Book book[Maxb]; //圖書記錄</p><p><b> public:</b><
96、;/p><p> BDatabase()//構(gòu)造函數(shù),將book.txt讀到book[]中</p><p><b> { </b></p><p><b> Book b;</b></p><p><b> top=-1;</b></p><p>
97、 fstream file("book.txt",ios::in);</p><p><b> while (1)</b></p><p><b> {</b></p><p> file.read((char *)&b,sizeof(b));</p><p>
98、if (!file) break;</p><p><b> top++;</b></p><p> book[top]=b;</p><p><b> }</b></p><p> file.close();</p><p><b> }</b&g
99、t;</p><p> void clear()//全刪</p><p><b> {</b></p><p><b> top=-1;</b></p><p><b> }</b></p><p> int addbook(int n,cha
100、r *na);//增加圖書</p><p> Book *query(int bookid)//查找圖書</p><p><b> {</b></p><p> for (int i=0;i<=top;i++)</p><p> if (book[i].getno()==bookid &&b
101、ook[i].gettag()==0)</p><p><b> {</b></p><p> return &book[i];</p><p><b> }</b></p><p> return NULL;</p><p><b> }<
102、;/b></p><p> void bookdata();//圖書庫(kù)維護(hù)</p><p> void disp() //輸出圖書 </p><p><b> {</b></p><p> for (int i=0;i<=top;i++)</p><p> if (bo
103、ok[i].gettag()==0)</p><p> book[i].disp();</p><p><b> }</b></p><p> ~BDatabase();//析構(gòu)函數(shù),將book[]寫到book.txt文件中</p><p><b> };</b></p>&l
104、t;p> int BDatabase::addbook(int n,char *na)//增加圖書</p><p><b> {</b></p><p> Book *p=query(n);</p><p> if (NULL==p)</p><p><b> {</b></p
105、><p><b> top++;</b></p><p> book[top].addbook(n,na);</p><p><b> return 1;</b></p><p><b> }</b></p><p><b> retur
106、n 0;</b></p><p><b> }</b></p><p> BDatabase::~BDatabase()//析構(gòu)函數(shù),將book[]寫到book.txt文件中</p><p><b> {</b></p><p> fstream file("book.
107、txt",ios::out);</p><p> for (int i=0;i<=top;i++)</p><p> if (book[i].gettag()==0)</p><p> file.write((char *)&book[i],sizeof(book[i]));</p><p> file.clo
108、se();</p><p><b> }</b></p><p> void BDatabase::bookdata()</p><p><b> {</b></p><p> char choice;</p><p> char bname[40];</p&
109、gt;<p> int bookid;</p><p><b> Book *b;</b></p><p><b> do </b></p><p><b> {</b></p><p> cout <<"\n\n\n\t\t\t歡
110、迎進(jìn)入圖書維護(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;&
111、lt;/p><p> cin >> choice;</p><p> switch (choice)</p><p><b> {</b></p><p><b> case '1':</b></p><p> cout << &
112、quot;輸入圖書編號(hào):"<<endl;</p><p> cin >> bookid;</p><p> cout << "輸入圖書書名:"<<endl;</p><p> cin >> bname;</p><p> addbook(book
113、id,bname);</p><p><b> break;</b></p><p><b> case '2':</b></p><p> cout << "輸入圖書編號(hào):"<<endl;</p><p> cin >>
114、; bookid;</p><p> b=query(bookid);</p><p> if (b==NULL)</p><p><b> {</b></p><p> cout << " 該圖書不存在 "<<endl;</p><p>&l
115、t;b> break;</b></p><p><b> }</b></p><p> cout << "輸入新的書名:"<<endl;</p><p> cin >> bname;</p><p> b->setname(bnam
116、e);</p><p><b> break;</b></p><p><b> case '3':</b></p><p> cout <<" 讀入圖書編號(hào):"<<endl;</p><p> cin >> booki
117、d;</p><p> b=query(bookid);</p><p> if (b==NULL)</p><p><b> {</b></p><p> cout <<" 該圖書不存在" << endl;</p><p><b>
118、 break;</b></p><p><b> }</b></p><p> b->delbook();</p><p><b> break;</b></p><p><b> case '4':</b></p>&l
119、t;p> cout << " 讀入圖書編號(hào):"<<endl;</p><p> cin >> bookid;</p><p> b=query(bookid);</p><p> if (b==NULL)</p><p><b> {</b><
120、;/p><p> cout <<" 該圖書不存在"<< endl;</p><p><b> break;</b></p><p><b> }</b></p><p> b->disp();</p><p><b
121、> break;</b></p><p><b> case '5':</b></p><p><b> disp();</b></p><p><b> break;</b></p><p><b> case '
122、6':</b></p><p><b> clear();</b></p><p><b> break;</b></p><p> default:if(choice!='0') cout<<"輸入錯(cuò)誤,請(qǐng)從新輸入:";</p>&l
123、t;p><b> }</b></p><p> }while (choice!='0');</p><p><b> }</b></p><p> void showmenu()</p><p><b> {</b></p><
124、;p> cout<<" ";</p><p> cout<<"|---------------------------------------------------------------------|"<<endl;</p><p> cout<<"
125、 ";</p><p> cout<<"|-----設(shè)計(jì)者:童安蓉,楊丹,劉蕙娟,鄧小偉----完成時(shí)間:2010年12月28日---|"<<endl;</p><p> cout<<" ";</p><p> cout<<"|---
126、----------------圖 書 管 理 系 統(tǒng)-----------------------|"<<endl;</p><p> cout<<" ";</p><p> cout<<"|----------------------------------------------
127、---------|"<<endl;</p><p> cout<<" ";</p><p> cout<<"| 1.借 書 |"<<endl;</p><p&g
128、t; cout<<" ";</p><p> cout<<"| 2.還 書 |"<<endl;</p><p> cout<<" ";</p>
129、<p> cout<<"| 3.圖 書 維 護(hù) |"<<endl;</p><p> cout<<" ";</p><p> cout<<"|
130、 4.讀 者 維 護(hù) |"<<endl;</p><p> cout<<" ";</p><p> cout<<"| 0.退出:將數(shù)據(jù)保存到磁盤 |"<<endl;<
131、/p><p> cout<<" ";</p><p> cout<<"|----------------------------------------------------------------|"<<endl;</p><p><b> }</b&g
132、t;</p><p> void showtip()</p><p><b> { </b></p><p> cout<<"\n\t\t----------------操作完成!-----------------"<<endl;</p><p> cout<&
133、lt;"\t\t----------------選擇0-5繼續(xù)------------------"<<endl;</p><p> cout<<" ";</p><p> cout<<"|------------------------------------------------
134、-------|"<<endl;</p><p> cout<<" ";</p><p> cout<<"| 1.借 書 |"<<endl;</p><p>
135、 cout<<" ";</p><p> cout<<"| 2.還 書 |"<<endl;</p><p> cout<<" ";</p>
136、<p> cout<<"| 3.圖 書 維 護(hù) |"<<endl;</p><p> cout<<" ";</p><p> cout<<"|
137、 4.讀 者 維 護(hù) |"<<endl;</p><p> cout<<" ";</p><p> cout<<"| 0.退出:將數(shù)據(jù)保存到磁盤 |"<<endl;</p
138、><p> cout<<" ";</p><p> cout<<"|----------------------------------------------------------------|"<<endl;</p><p><b> }</b>
139、</p><p> //main() 函數(shù)的實(shí)現(xiàn),程序的主界面的引導(dǎo)</p><p> int main()</p><p><b> { </b></p><p> char choice;</p><p> int bookid,readerid; //圖書編號(hào),讀者編號(hào)
140、</p><p> RDatabase ReaderDB; //讀者庫(kù)</p><p> Reader *r; //讀者</p><p> BDatabase BookDB; //圖書庫(kù)</p><p> Book *b; //圖書</p&g
141、t;<p> cout<<"正在打開系統(tǒng),請(qǐng)稍后..."<<endl;</p><p> showmenu(); //顯示菜單</p><p> cout<<"\t\t\t請(qǐng)選擇菜單中的數(shù)字以便處理數(shù)據(jù):";</p><p> cin >&g
142、t; choice;</p><p> while (choice!='0')</p><p><b> {</b></p><p> switch (choice)</p><p><b> {</b></p><p> case '1&
143、#39;: //輸入讀者編號(hào)和要借的圖書</p><p> cout <<" 借書 讀者編號(hào):";</p><p> cin >>readerid;</p><p> cout <<" 圖書編號(hào): ";</p><
144、;p> cin >>bookid;</p><p> r=ReaderDB.query(readerid); //按編號(hào)查找</p><p> if (NULL==r)</p><p><b> {</b></p><p> cout <<" 不存在該讀者,不能借書
145、"<< endl;</p><p><b> break;</b></p><p><b> }</b></p><p> b=BookDB.query(bookid);</p><p> if (b==NULL)</p><p><b&g
146、t; {</b></p><p> cout <<" 不存在該圖書,不能借書"<< endl;</p><p><b> break;</b></p><p><b> }</b></p><p> if (b->borrow
147、book()==0)</p><p><b> {</b></p><p> cout << " 該圖書已借出,不能借書"<< endl;</p><p><b> break;</b></p><p><b> }</b>
148、</p><p> r->borrowbook(b->getno());</p><p><b> break;</b></p><p> case '2': //還書操作</p><p> cout<<"還書\n 讀者編
149、號(hào):";</p><p> cin >>readerid;</p><p> cout << " 圖書編號(hào):";</p><p> cin >>bookid;</p><p> r=ReaderDB.query(readerid);//按編號(hào)查找</p>
150、<p> if (r==NULL)</p><p><b> {</b></p><p> cout <<" 不存在該讀者,不能還書" << endl;</p><p><b> break;</b></p><p><b>
151、; }</b></p><p> b=BookDB.query(bookid);</p><p> if (b==NULL)</p><p><b> {</b></p><p> cout <<" 不存在該圖書,不能還書" <<endl;</p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息系統(tǒng)分析與設(shè)計(jì)課程設(shè)計(jì)--酒店管理信息系統(tǒng)分析與設(shè)計(jì)
- 信息系統(tǒng)分析與設(shè)計(jì)課程設(shè)計(jì)---成績(jī)查詢信息系統(tǒng)分析與設(shè)計(jì)
- 信息系統(tǒng)分析與設(shè)計(jì)課程設(shè)計(jì)
- 信息系統(tǒng)分析與設(shè)計(jì)課程設(shè)計(jì)
- 【課程設(shè)計(jì)】信息系統(tǒng)分析與設(shè)計(jì)
- 信息系統(tǒng)分析與設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 管理信息系統(tǒng)課程設(shè)計(jì)---超市管理系統(tǒng)分析與設(shè)計(jì)
- 超市信息管理系統(tǒng)(信息系統(tǒng)分析與設(shè)計(jì)課程設(shè)計(jì))
- 超市信息管理系統(tǒng)(信息系統(tǒng)分析與設(shè)計(jì)課程設(shè)計(jì))
- 管理信息系統(tǒng)課程設(shè)計(jì)---學(xué)校管理信息系統(tǒng)分析與設(shè)計(jì)
- 課程設(shè)計(jì)---圖書管理信息系統(tǒng)的分析與設(shè)計(jì)
- 圖書管理系統(tǒng)分析與數(shù)據(jù)設(shè)計(jì)
- 信息系統(tǒng)分析與設(shè)計(jì)課程設(shè)計(jì)-校園訂餐管理信息系統(tǒng)
- 圖書管理信息系統(tǒng)課程設(shè)計(jì)
- 信息系統(tǒng)分析與設(shè)計(jì)課程設(shè)計(jì)-學(xué)生宿舍管理系統(tǒng)
- 基于UML的圖書管理信息系統(tǒng)分析與設(shè)計(jì).pdf
- 《信息系統(tǒng)分析與設(shè)計(jì)》課程設(shè)計(jì)---超市信息管理系統(tǒng)的實(shí)現(xiàn)
- 書店銷售管理信息系統(tǒng)分析與設(shè)計(jì)課程設(shè)計(jì)
- 信息系統(tǒng)分析與設(shè)計(jì)課程設(shè)計(jì)---人力資源管理系統(tǒng)
- 信息系統(tǒng)分析與設(shè)計(jì)課程設(shè)計(jì)---人力資源管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論