




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、tushuguanli.cpp:Definestheentrypointfortheconsoleapplication.#include<string>#include<fstream>#include<iostream/usingnamespacestd;constintBMAX=50;/圖書數據庫類classbdatabasepublic:bookbtarrayBMAX;inttop;public:bdatabase()bookb;top=-1;fstreamfile("book.txt",ios:in);/打開文件whilefile.r
2、ead(char*)&b,sizeof(b);if(!file)break;top+;btarraytop=b;file.close();/關閉文件bdatabase()/析構函數,將btarray口寫至Ubook.txt文件中fstreamfile("book.txt",ios:out);for(inti=0;i<=top;i+)if(btarrayi.b_del=1)file.write(char*)&btarrayi,sizeof(btarrayi);file.close();voidaddbooks()/往圖書數據庫中加圖書bookbk;int
3、no;charbname20;cout<<"請輸入書號:"cin>>no;cout<<endl<<"請輸入書名:"cin>>bname;cout<<endl;bk.b_flag=1;bk.addbook(no,bname);top+;btarraytop=bk;return;intfindbooks(intsuffix)查找圖書,這個函數用于借書這書操作,suffix是數組下標intno;cout<<"請輸入書號:"cin>>no;for(
4、inti=0;i<=top;i+)if(btarrayi.no=no&&btarrayi.b_del=1)returni;return-1;intfindbooks()/查找圖書,這個函數用于圖書維護intno;charvalue6;cout<<"請輸入書號:"cin>>no;for(inti=0;i<=top;i+)if(btarrayi.no=no&&btarrayi.b_del=1)if(btarrayi.b_flag=1)strcpy(value,"在架");if(btarray
5、i.b_flag=2)strcpy(value,"借出"力cout<<"書號:"<<btarrayi.no<<"書的名稱"<<<<”圖書狀態(tài):"<<value<<endl;returni;return-1;/編輯圖書書的名稱voideditbooks()intcur;cur=findbooks();if(cur=-1)cout<<"沒有這本書"<<endl;return;c
6、out<<"書號:"<<btarraycur.no<<"<<<<endl;cout<<"請修改數據:"<<endl;cout<<endl<<"書的名稱:"cin>>;return;voiddelbooks()/刪除圖書intcur;cur=findbooks();if(cur=-1)return;if(btarraycur.b_flag=2)/刪除
7、時判斷圖書是否借出cout<<"該圖書已經借出,請在歸還后再刪除。"<<endl;return;btarraycur.b_del=2;return;/顯示全部圖voidlistbooks()charvalue6;for(inti=0;i<=top;i+)if(btarrayi.b_del=1)if(btarrayi.b_flag=1)strcpy(value,"在架");if(btarrayi.b_flag=2)strcpy(value,"借出"力圖書狀態(tài):"<<value<&
8、lt;endl;cout<<"書號:"<<btarrayi.no<<"書的名稱"<<<<"return;5class bookpublic:int no;char name20;int b_flag;int b_del;public :book()void setno(int n)no=n;int getno()return no;void setname(char na口)strcpy(name, na);返回圖書編號值/字符串復制/圖書編號/圖書名稱cha
9、r*getname()returnname;/返回圖書名稱voidborbook()b_flag=2;/借書標志voiddelbook()b_del=2;/刪除標志voidaddbook(intno,charna)/增力口圖書功能setno(no);setname(na);b_flag=1;b_del=1;;讀者關classreaderpublic:intno;charname20;intr_del;/1存在,2刪除intr_bor;/1借過書,2沒有借書bookbrbook;public:voidaddreader(intid,charna口)增加讀者no=id;strcpy(name,na
10、);r_del=1;voidsetbrbook(bookbt)/設置借書標記brbook=bt;bookgetbrbook()returnbrbook;/返回借書信息;/讀者數據庫類classdatabasepublic:readerrdarrayBMAX;inttop;public:rdatabase()readerrd;top=-1;fstreamfile("reader.txt",ios:in);/打開文件whilefile.read(char*)&rd,sizeof(rd);if(!file)break;top+;rdarraytop=rd;file.clo
11、se();/關閉文件rdatabase()析構函數fstreamfile("reader.txt",ios:out);for(inti=0;i<=top;i+)if(rdarrayi.r_del=1)file.write(char*)&rdarrayi,sizeof(rdarrayi);file.close();/添加讀voidaddreaders()者readerrd;intno;charrname20;cout<<"請輸入學號:"cin>>no;cout<<endl<<"請輸入姓
12、名:"cin>>rname;cout<<endl;rd.addreader(no,rname);rd.r_bor=2;top+;rdarraytop=rd;return;intfindreaders(intsuffix)/查找讀者,這個函數用于借書還書操作。suffix是數組下標intno;cout<<"請輸入學號:"cin>>no;for(inti=0;i<=top;i+)if(rdarrayi.no=no&&rdarrayi.r_del=1)returni;return-1;/查找讀者,這個
13、函數用于讀借)無)姓名:"<<<<"intfindreaders()者維護操作intno;charvalue3;cout<<"請輸入學號:"cin>>no;for(inti=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<<"學
14、號:"<<rdarrayi.no<<"是否借書:"<<value<<endl;returni;return-1;w信息voideditreaders()/編輯讀者intcur;cur=findreaders();if(cur=-1)cout<<"沒有該學生"<<endl;return;cout<<"請修改數據:"<<endl;cout<<endl<<"姓名:"cin>>rda
15、;return;void還書后才能刪除delreaders()/刪除讀者,讀者如果借書要void所有讀者intcur;cur=findreaders();if(cur=-1)return;if(rdarraycur.r_bor=1)cout<<"該用戶借了圖書,請還書后再刪除return;rdarraycur.r_del=2;return;listreaders()charvalue3;for(inti=0;i<=top;i+)if(rdarrayi.r_del=1)if(rdarrayi.r_bor=1)strcpy(value,"
16、;if(rdarrayi.r_bor=2)strcpy(value,"cout<<"學號:"<<rdarrayi.no<<""<<endl;/顯示借)無)姓名:"<<<<"是否借書:"<<value<<endl;)return;)voidbookjiemain()護子菜單/圖書維cout<<"|"<<endl;cout<<"|圖書
17、維護|"<<endl;cout<<"|增加|"<<endl;cout<<"|(2)更改|"<<endl;cout<<"|刪除|"<<endl;cout<<"|(4)查找|"<<endl;cout<<"|顯示|"<<endl;cout<<"|(6)返回上一層|"<<endl;cout<<"|&
18、quot;<<endl;)voidreaderjiemian()者維護子菜單(/讀cout<<"|"<<endl;cout<<"|讀者維護|"<<endl;cout<<"|增加|"<<endl;cout<<"|(2)更改|"<<endl;cout<<"|刪除|"<<endl;cout<<"|(4)查找|"<<endl;co
19、ut<<"|顯示|"<<endl;cout<<"|(6)返回上一層|"<<endl;cout<<"|"<<endl;void/主界面mainjiemian()cout<<"I*"<<endl;cout<<"*圖書管理系統cout<<"*"<<endl;*"<<endl;cout<<"*借書*"<&
20、lt;endl;cout<<"*"<<endl;cout<<"*(2)還書*"<<endl;cout<<"*"<<endl;cout<<"*圖書管理*"<<endl;cout<<"*"<<endl;cout<<"*(4)用戶管理*"<<endl;cout<<"*"<<endl;cout<
21、;<"*(0)退出*"<<endl;cout<<"*"<<endl;voidborrowtoreturn(charbr)/借書還書函數.參數br用來判斷是“借書”還是“還書”.1為“借書”,2為“還書”intrdid=0;intbkid=0;intrsuffix,bsuffix;bdatabaset_bd;databaset_rd;if(br='1')/借書rsuffix=t_rd.findreaders(rdid);bsuffix=t_bd.findbooks(bkid);if(rsuffix=
22、-1|bsuffix=-1)return;if(t_bd.btarraybsuffix.b_flag=2)cout<<"圖書已經借出,請選擇其它圖書"<<endl;return;if(t_rd.rdarrayrsuffix.r_bor=1)cout<<"你已經借過圖書,請先歸還再借其它圖書"<<endl;return;t_bd.btarraybsuffix.b_flag=2;t_rd.rdarrayrsuffix.r_bor=1;t_rd.rdarrayrsuffix.brbook=t_bd.btarray
23、bsuffix;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.no=t_bd.btarraybsuffix.no)t_bd.btarraybsuffix.b_flag=1;t_rd.rdarrayrsuffix.r_bor=2;t_rd.rdarrayrsuffix.brbook=t_bd.btarraybsuffix;elsecout<<
24、;"請重新輸入,讀者借的圖書號不正確"<<endl;return;return;voidbooksmange()charin;bdatabasebd;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;case'6':brea
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 主播續(xù)約合同范本
- 公路單車出租合同范本
- 與政府物業(yè)合同范本
- 分公司人員合同范本
- 第1單元第5課 《歌聲嘹亮-子程序設計和機器人發(fā)音》教學設計 2023-2024學年清華大學版(2012)初中信息技術九年級下冊
- 個人運輸公司合同范本
- 加盟針織合同范本
- 制作平臺合同范本
- 出租婚紗租賃合同范本
- 出售移動混凝土合同范本
- 2024年中國養(yǎng)老產業(yè)商學研究報告-銀發(fā)經濟專題
- 高教版2023年中職教科書《語文》(基礎模塊)下冊教案全冊
- 川教版四年級《生命.生態(tài).安全》下冊全冊 課件
- JJG 693-2011可燃氣體檢測報警器
- 肺斷層解剖及CT圖像(77頁)
- LeapMotion教程之手勢識別
- 靜脈導管的護理與固定方法
- word上機操作題
- 房地產公司管理制度
- O型密封圈標準 ISO 3601-12008[E]中文
- 醫(yī)院醫(yī)療服務價格管理制度
評論
0/150
提交評論