圖書館管理系統C++代碼_第1頁
圖書館管理系統C++代碼_第2頁
圖書館管理系統C++代碼_第3頁
圖書館管理系統C++代碼_第4頁
圖書館管理系統C++代碼_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、/ tushuguanli.cpp : Defines the entry point for the console application.#include <string>#include <fstream>#include <iostream>/using namespace std;const int BMAX=50;/圖書數據庫類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(); /關閉文件bdatabase() /析構函數, 將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() /往圖書數據庫中加圖書book bk;int no;char bname20;cout<<"請輸入書號: "cin>>no;cout<<endl<<"請輸入書名: "cin>>bname;cout<<endl;bk.b_flag=1;bk.addbook(no, bname);top+;btarraytop=bk;return;int findbooks(int suffix) /查找圖書,這個函數用于借書這書

4、操作,suffix是數組下標int no;cout<<"請輸入書號: "cin>>no;for(int i=0; i<=top; i+)if(btarrayi.no=no && btarrayi.b_del=1)return i;return -1;int findbooks() /查找圖書,這個函數用于圖書維護 int no;char value6;cout<<"請輸入書號: "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<<"書號: "<<btarrayi.no<<" 書的名稱: "<<<<" 圖書狀態 :"<<value<<endl;return i;return -1;voi

6、d editbooks() /編輯圖書int cur;cur = findbooks();if (cur=-1)cout<<"沒有這本書"<<endl;return;cout<<"書號: "<<btarraycur.no<<" 書的名稱: "<<<<endl;cout<<"請修改數據:"<<endl;cout<<endl<<"書的名稱: &quo

7、t;cin>>;return ;void delbooks() /刪除圖書int cur;cur = findbooks();if (cur=-1)return;if(btarraycur.b_flag=2) /刪除時判斷圖書是否借出cout<<"該圖書已經借出,請在歸還后再刪除。"<<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<<"書號: "<<btarrayi.no<<" 書的名稱: "<<<<" 圖書狀態 :"<<value<<endl;return;class bookpublic:int no; /圖書編號char

9、 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); /字符串復制char* getname()return name; /返回圖書名稱void borbook()b_flag=2; /借書標志void delbook()b_del=2; /刪除標志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) /設置借書標記brbook = bt;book getbrbook()return brbook; /返回借書信息;/讀者數據庫類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(); /關閉文件 rdatabase()/析構函數 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<<"請輸入學號: "cin>>no;cout<<endl<<"請輸入姓名: "cin>>rname;cout<<endl;rd.addreader(no, rname);rd.r_bo

13、r=2;top+; rdarraytop=rd;return;int findreaders(int suffix) /查找讀者,這個函數用于借書還書操作。 參數suffix是數組下標int no;cout<<"請輸入學號: "cin>>no;for(int i=0; i<=top; i+)if(rdarrayi.no=no && rdarrayi.r_del=1)return i;return -1;int findreaders() /查找讀者,這個函數用于讀者維護操作int no;char value3;cout<&

14、lt;"請輸入學號: "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<<"學號: "<<rdarrayi.no<<" 姓名: "<<

15、<<" 是否借書: "<<value<<endl;return i;return -1;void editreaders() /編輯讀者信息int cur;cur = findreaders();if (cur=-1)cout<<"沒有該學生"<<endl;return;cout<<"請修改數據:"<<endl;cout<<endl<<" 姓名: "cin>>;ret

16、urn ;void delreaders() /刪除讀者,讀者如果借書要還書后才能刪除 int cur;cur = findreaders();if (cur=-1)return;if(rdarraycur.r_bor=1)cout<<"該用戶借了圖書,請還書后再刪除"<<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<<"學號: "<<rdarrayi.no<<" 姓名: "<<<<" 是否借書: "<<value<<endl;return;void bookjiemain() /圖書維護子菜單cout<<"|-|"<<endl;

18、cout<<"| 圖書維護 |"<<endl;cout<<"| (1)增 加 |"<<endl;cout<<"| (2)更 改 |"<<endl;cout<<"| (3)刪 除 |"<<endl;cout<<"| (4)查 找 |"<<endl;cout<<"| (5)顯 示 |"<<endl;cout<<"|

19、(6)返回上一層 |"<<endl;cout<<"|-|"<<endl;void readerjiemian() /讀者維護子菜單cout<<"|-|"<<endl;cout<<"| 讀者維護 |"<<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<<"* 圖 書 管 理 系 統

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) /借書還書函數.參數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<<"圖書已經借出,請選擇其它圖書"<<endl;return;if(t_rd.rdarrayrsuffix.r_bor=1)cout<<"

24、你已經借過圖書,請先歸還再借其它圖書"<<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<<"請重新輸入,讀者借的圖書號不正確"<<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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論