




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、/ tushuguanli.cpp : Defines the entry point for the console application.#include <string>#include <fstream>#include <iostream>/using namespace std;const int BMAX=50;/圖書數(shù)據(jù)庫類class bdatabasepublic:book btarrayBMAX; int top;public:bdatabase()book b; top=-1; fstream file("book.txt&
2、quot;,ios:in); /打開文件while (1) file.read(char *)&b,sizeof(b); if (!file) break; top+; btarraytop = b; file.close(); /關(guān)閉文件bdatabase() /析構(gòu)函數(shù), 將btarray寫到book.txt文件中 fstream file("book.txt",ios:out); for (int i=0;i<=top;i+)if (btarrayi.b_del=1) file.write(char *)&btarrayi,sizeof(btar
3、rayi); file.close(); void addbooks() /往圖書數(shù)據(jù)庫中加圖書book bk;int no;char bname20;cout<<"請(qǐng)輸入書號(hào): "cin>>no;cout<<endl<<"請(qǐng)輸入書名: "cin>>bname;cout<<endl;bk.b_flag=1;bk.addbook(no, bname);top+;btarraytop=bk;return;int findbooks(int suffix) /查找圖書,這個(gè)函數(shù)用于借書這書
4、操作,suffix是數(shù)組下標(biāo)int no;cout<<"請(qǐng)輸入書號(hào): "cin>>no;for(int i=0; i<=top; i+)if(btarrayi.no=no && btarrayi.b_del=1)return i;return -1;int findbooks() /查找圖書,這個(gè)函數(shù)用于圖書維護(hù) int no;char value6;cout<<"請(qǐng)輸入書號(hào): "cin>>no;for(int i=0; i<=top; i+)if(btarrayi.no=no
5、&& btarrayi.b_del=1)if(btarrayi.b_flag=1) strcpy(value,"在架");if(btarrayi.b_flag=2) strcpy(value,"借出");cout<<"書號(hào): "<<btarrayi.no<<" 書的名稱: "<<<<" 圖書狀態(tài) :"<<value<<endl;return i;return -1;voi
6、d editbooks() /編輯圖書int cur;cur = findbooks();if (cur=-1)cout<<"沒有這本書"<<endl;return;cout<<"書號(hào): "<<btarraycur.no<<" 書的名稱: "<<<<endl;cout<<"請(qǐng)修改數(shù)據(jù):"<<endl;cout<<endl<<"書的名稱: &quo
7、t;cin>>;return ;void delbooks() /刪除圖書int cur;cur = findbooks();if (cur=-1)return;if(btarraycur.b_flag=2) /刪除時(shí)判斷圖書是否借出cout<<"該圖書已經(jīng)借出,請(qǐng)?jiān)跉w還后再刪除。"<<endl;return;btarraycur.b_del=2;return;void listbooks() /顯示全部圖書char value6;for(int i=0; i<=top; i+)if(btarrayi.
8、b_del=1) if(btarrayi.b_flag=1) strcpy(value,"在架");if(btarrayi.b_flag=2) strcpy(value,"借出");cout<<"書號(hào): "<<btarrayi.no<<" 書的名稱: "<<<<" 圖書狀態(tài) :"<<value<<endl;return;class bookpublic:int no; /圖書編號(hào)char
9、 name20; /圖書名稱int b_flag; int b_del; public :book() void setno(int n)no=n; int getno()return no; /返回圖書編號(hào)值void setname(char na)strcpy(name, na); /字符串復(fù)制char* getname()return name; /返回圖書名稱void borbook()b_flag=2; /借書標(biāo)志void delbook()b_del=2; /刪除標(biāo)志void addbook(int no,char na) /增加圖書功能setno(no);setname(na);
10、b_flag=1;b_del=1;/讀者類class readerpublic:int no;char name20;int r_del; /1存在,2刪除int r_bor; /1借過書,2沒有借書book brbook;public:void addreader(int id, char na)/增加讀者no = id;strcpy(name, na);r_del=1;void setbrbook(book bt) /設(shè)置借書標(biāo)記brbook = bt;book getbrbook()return brbook; /返回借書信息;/讀者數(shù)據(jù)庫類class rdatabasepublic:r
11、eader rdarrayBMAX;int top;public:rdatabase()reader rd; top=-1; fstream file("reader.txt",ios:in); /打開文件while (1) file.read(char *)&rd,sizeof(rd); if (!file) break; top+; rdarraytop=rd; file.close(); /關(guān)閉文件 rdatabase()/析構(gòu)函數(shù) fstream file("reader.txt",ios:out); for (int i=0;i<
12、=top;i+)if (rdarrayi.r_del=1) file.write(char *)&rdarrayi,sizeof(rdarrayi); file.close(); void addreaders() /添加讀者reader rd;int no;char rname20;cout<<"請(qǐng)輸入學(xué)號(hào): "cin>>no;cout<<endl<<"請(qǐng)輸入姓名: "cin>>rname;cout<<endl;rd.addreader(no, rname);rd.r_bo
13、r=2;top+; rdarraytop=rd;return;int findreaders(int suffix) /查找讀者,這個(gè)函數(shù)用于借書還書操作。 參數(shù)suffix是數(shù)組下標(biāo)int no;cout<<"請(qǐng)輸入學(xué)號(hào): "cin>>no;for(int i=0; i<=top; i+)if(rdarrayi.no=no && rdarrayi.r_del=1)return i;return -1;int findreaders() /查找讀者,這個(gè)函數(shù)用于讀者維護(hù)操作int no;char value3;cout<&
14、lt;"請(qǐng)輸入學(xué)號(hào): "cin>>no;for(int i=0; i<=top; i+)if(rdarrayi.no=no && rdarrayi.r_del=1)if(rdarrayi.r_bor=1) strcpy(value,"借");if(rdarrayi.r_bor=2) strcpy(value,"無");cout<<"學(xué)號(hào): "<<rdarrayi.no<<" 姓名: "<<
15、<<" 是否借書: "<<value<<endl;return i;return -1;void editreaders() /編輯讀者信息int cur;cur = findreaders();if (cur=-1)cout<<"沒有該學(xué)生"<<endl;return;cout<<"請(qǐng)修改數(shù)據(jù):"<<endl;cout<<endl<<" 姓名: "cin>>;ret
16、urn ;void delreaders() /刪除讀者,讀者如果借書要還書后才能刪除 int cur;cur = findreaders();if (cur=-1)return;if(rdarraycur.r_bor=1)cout<<"該用戶借了圖書,請(qǐng)還書后再刪除"<<endl;return;rdarraycur.r_del=2;return;void listreaders() /顯示所有讀者char value3;for(int i=0; i<=top; i+)if(rdarrayi.r_del=1)if(rdarrayi.r_bor=
17、1) strcpy(value,"借");if(rdarrayi.r_bor=2) strcpy(value,"無");cout<<"學(xué)號(hào): "<<rdarrayi.no<<" 姓名: "<<<<" 是否借書: "<<value<<endl;return;void bookjiemain() /圖書維護(hù)子菜單cout<<"|-|"<<endl;
18、cout<<"| 圖書維護(hù) |"<<endl;cout<<"| (1)增 加 |"<<endl;cout<<"| (2)更 改 |"<<endl;cout<<"| (3)刪 除 |"<<endl;cout<<"| (4)查 找 |"<<endl;cout<<"| (5)顯 示 |"<<endl;cout<<"|
19、(6)返回上一層 |"<<endl;cout<<"|-|"<<endl;void readerjiemian() /讀者維護(hù)子菜單cout<<"|-|"<<endl;cout<<"| 讀者維護(hù) |"<<endl;cout<<"| (1)增 加 |"<<endl;cout<<"| (2)更 改 |"<<endl;cout<<"| (3)
20、刪 除 |"<<endl;cout<<"| (4)查 找 |"<<endl;cout<<"| (5)顯 示 |"<<endl;cout<<"| (6)返回上一層 |"<<endl;cout<<"|-|"<<endl;void mainjiemian() /主界面cout<<"*"<<endl;cout<<"* 圖 書 管 理 系 統(tǒng)
21、*"<<endl;cout<<"* *"<<endl;cout<<"* (1) 借 書 *"<<endl;cout<<"* *"<<endl;cout<<"* (2) 還 書 *"<<endl;cout<<"* *"<<endl;cout<<"* (3) 圖書管理 *"<<endl;cout<<&qu
22、ot;* *"<<endl;cout<<"* (4) 用戶管理 *"<<endl;cout<<"* *"<<endl;cout<<"* (0) 退 出 *"<<endl;cout<<"*"<<endl;void borrowtoreturn(char br) /借書還書函數(shù).參數(shù)br用來判斷是“借書”還是“還書”.1為“借書”,2為“還書”int rdid=0;int bkid=0;int rsuf
23、fix, bsuffix;bdatabase t_bd;rdatabase t_rd;if(br='1') /借書rsuffix=t_rd.findreaders(rdid);bsuffix=t_bd.findbooks(bkid);if (rsuffix=-1 | bsuffix=-1) return;if(t_bd.btarraybsuffix.b_flag=2)cout<<"圖書已經(jīng)借出,請(qǐng)選擇其它圖書"<<endl;return;if(t_rd.rdarrayrsuffix.r_bor=1)cout<<"
24、你已經(jīng)借過圖書,請(qǐng)先歸還再借其它圖書"<<endl;return;t_bd.btarraybsuffix.b_flag=2;t_rd.rdarrayrsuffix.r_bor=1;t_rd.rdarrayrsuffix.brbook=t_bd.btarraybsuffix;return;if(br='2')rsuffix=t_rd.findreaders(rdid);bsuffix=t_bd.findbooks(bkid);if (rsuffix=-1 | bsuffix=-1 )return;if(t_rd.rdarrayrsuffix.brbook.n
25、o=t_bd.btarraybsuffix.no)t_bd.btarraybsuffix.b_flag=1;t_rd.rdarrayrsuffix.r_bor=2;t_rd.rdarrayrsuffix.brbook=t_bd.btarraybsuffix;elsecout<<"請(qǐng)重新輸入,讀者借的圖書號(hào)不正確"<<endl;return;return;void booksmange() char in;bdatabase bd;dobookjiemain();cin>>in;switch (in)case '1':bd.addbooks();break;case '2':bd.editbooks();break;case '3':bd.delbooks();break;case '4':bd.findbooks();break;case '5':bd.listbooks();break;
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國微波爐用具數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國彩花面盆數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 商務(wù)禮儀師的交流技巧與社會(huì)化能力試題及答案
- 2025年中國異辛酸稀土市場(chǎng)調(diào)查研究報(bào)告
- 掌握電氣工程師資格證書考試核心內(nèi)容試題及答案
- 企業(yè)級(jí)區(qū)塊鏈技術(shù)從挑戰(zhàn)到對(duì)策的全面解析
- 機(jī)械設(shè)計(jì)與分析考題及答案
- 2024年質(zhì)量工程師資格考試的交互會(huì)話試題及答案
- 焊接工程師資格證書考試中遇到的挑戰(zhàn)及策略試題及答案
- 2025年中國對(duì)壓茶蠟機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 沐足行業(yè)嚴(yán)禁黃賭毒承諾書
- 牧場(chǎng)物語礦石鎮(zhèn)的伙伴們攻略大全
- 中國肺動(dòng)脈高壓診治臨床路徑(2023版)解讀課件
- 【MOOC】C語言程序設(shè)計(jì)-華中科技大學(xué) 中國大學(xué)慕課MOOC答案
- 2024年廣東省基本藥物合理使用技能競(jìng)賽理論考試題庫(附答案)
- 招投標(biāo)法律培訓(xùn)課件
- 結(jié)構(gòu)性存款培訓(xùn)課件
- 論委托代建合同的性質(zhì)與裁判路徑
- 獻(xiàn)血宣傳課件教學(xué)課件
- 汽車保修服務(wù)優(yōu)化方案
- 臨時(shí)用電安裝與拆除方案
評(píng)論
0/150
提交評(píng)論