圖書館管理系統(tǒng)C++代碼_第1頁
圖書館管理系統(tǒng)C++代碼_第2頁
免費預覽已結束,剩余27頁可下載查看

下載本文檔

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

文檔簡介

1、專業(yè).專注/ tushugua nli.cpp : Defines the entry point for the con sole applicati on.#in elude #i nclude #in clude /using n amespace std; const int BMAX=50;/圖書數(shù)據(jù)庫類 class bdatabasepublic:book btarrayBMAX;int top;public:bdatabase()book b;top=-1;fstream file(book.txt,ios:i n);while (1)/打開文件專業(yè).專注file.read(ch

2、ar *)&b,sizeof(b);if (!file) break;top+;btarraytop = b;file.close();/ 關閉文件bdatabase()/ 析構函數(shù),文件中fstream file(book.txt,ios:out);for (int i=0;i=top;i+)if (btarrayi.b_del=1)file.write(char *)&btarrayi,sizeof(btarrayi);file.close();專業(yè).專注void addbooks()將 btarray寫到 book.txt/往圖書數(shù)據(jù)庫中加圖專業(yè).專注book bk;in

3、t no;char bn ame20;cout請輸入書號:;cinno;coutendl請輸入書名:;cinbn ame;coute ndl;bk.b_flag=1;bk.addbook (no, bn ame);top+;btarraytop=bk;return;int findbooks(int suffix)/查找圖書,這個函數(shù)用于借書這書操作是數(shù)組下標int no;,suffix專業(yè).專注cout請輸入書號:;專業(yè).專注cinno;for(i nt i=0; i=top; i+)if(btarrayi. no=no & btarrayi.b_del=1)return i;ret

4、urn -1;int findbooks()/查找圖書,這個函數(shù)用于圖書int no;char value6;cout請輸入書號:;cinno;for(i nt i=0; i=top; i+)維護專業(yè).專注if(btarrayi. no=no & btarrayi.b_del=1)if(btarrayi.b_flag=1) strcpy(value,在架”);if(btarrayi.b_flag=2) strcpy(value,借出);cout 書號:btarrayi. no書的名稱btarrayi. name圖書狀態(tài):valuee ndl;return i;return -1;voi

5、d editbooks()/ 編輯圖書int cur;cur = fin dbooks();if (cur=-1) cout沒有這本書endl;return;cout 書 號:btarraycur. no書 的 名 稱專業(yè).專注btarraycur .n amee ndl;cout請修改數(shù)據(jù):endl;coutendl btarraycur. name;return ;void delbooks()/ 刪除圖書int cur;cur = fin dbooks();if (cur=-1)return;if(btarraycur.b_flag=2)/ 刪除時判斷圖書是否借出cout該圖書已經(jīng)借出,

6、請在歸還后再刪除。endl;return;專業(yè).專注btarraycur.b_del=2;return;void listbooks()書char value6;for(i nt i=0; i=top; i+)if(btarrayi.b_del=1)if(btarrayi.b_flag=1) strcpy(value,在架);if(btarrayi.b_flag=2) strcpy(value,借出);cout 書號:btarrayi. no書的名稱btarrayi. name 圖書狀態(tài):valuee ndl; return; class book/顯示全部圖專業(yè).專注public:專業(yè).專注

7、int no;char n ame20;int b_flag;int b_del;public :book()void set no(i nt n)no=n;int get no()return no;/返回圖書編號值void set name(char n a)strcpy(name, na);/ 字符串復制char* get name()return name; /返回圖書名稱圖書編號/圖書名稱專業(yè).專注void borbook()b_flag=2;借書標志void delbook()b_del=2; /刪除標志void addbook(i nt no ,char n a)set no(n

8、o);set name( na);b_flag=1;b_del=1;/讀者類 class readerpublic: int no;char n ame20;int r_del;1 存在,2 刪除/增加圖書功能專業(yè).專注int r_bor;1 借過書,2 沒有借書book brbook;public:void addreader(i nt id, char na)增加讀者no = id;strcpy (n ame, n a);r_del=1;void setbrbook(book bt)/ 設置借書標記brbook = bt;book getbrbook()return brbook; /返回

9、借書信息;/讀者數(shù)據(jù)庫類classdatabase專業(yè).專注public:reader 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() 析構函數(shù)打開文件專業(yè).專注fstream file(reader.txt,ios:out);for (int

10、 i=0;i=top;i+)if (rdarrayi.r_del=1)file.write(char *)&rdarrayi,sizeof(rdarrayi);file.close();void addreaders()reader rd;int no;char rn ame20;cout請輸入學號:;cinno;coutendl請輸入姓名:cinrn ame;/添加讀者專業(yè).專注coute ndl;rd.addreader( no, rn ame);rd.r_bor=2;top+;rdarraytop=rd;return;int fin dreaders。ntsuffix) /查找讀

11、者,這個函數(shù)用于借書還書操作suffix 是數(shù)組下標int no;cout請輸入學號:;cinno;for(i nt i=0; i=top; i+)if(rdarrayi. no=no & rdarrayi.r_del=1)return i;return -1;參數(shù)專業(yè).專注int findreaders()者維護操作int no;char value3;cout請輸入學號:;cinno;for(i nt i=0; i=top; i+)if(rdarrayi. no=no & rdarrayi.r_del=1) if(rdarrayi.r_bor=1) strcpy(value

12、,if(rdarrayi.r_bor=2) strcpy(value,cout學號:rdarrayi.no 是否借書:valueendl;return i;return -1;void editreaders()/查找讀者,這個函數(shù)用于讀借);無);姓名:/編輯讀者專業(yè).專注int cur;cur = fin dreaders();信息int cur;cur = fin dreaders();if (cur=-1) cout沒有該學生endl; return;cout請修改數(shù)據(jù):endl;coutendl rdarraycur .n ame;return ;void書

13、后才能刪除delreaders()II刪除讀者, 讀者如果借書要還專業(yè).專注if (cur=-1)return;是否借書 :valuee ndl;專業(yè).專注if(rdarraycur.r_bor=1)cout該用戶借了圖書,請還書后再刪除endl;return;rdarraycur.r_del=2;return;void listreaders()/ 顯示char value3;for(i nt i=0; i=top; i+)if(rdarrayi.r_del=1)if(rdarrayi.r_bor=1) strcpy(value,if(rdarrayi.r_bor=2) strcpy(val

14、ue,cout學號:rdarrayi.no所有讀者借);無);姓名:cout|e ndl;專業(yè).專注 return;void bookjiemain()護子菜單cout|- |e ndl;cout|圖書維護|endl;cout|(1)增加endl;cout|更改endl;cout|刪除endl;cout|查找endl;cout|顯示endl;cout|(6)返回上一層endl;/圖書維cout*借書*e ndl;專業(yè).專注void readerjiemian()維護子菜單cout|-|”e ndl;cout|讀者維護|endl;cout|(1)增 加endl;cout

15、|更 改endl;cout|刪 除endl;cout|查 找endl;cout|(5)顯示endl;cout|(6)返回上一層endl;cout|-|e ndl;/主界面cout*圖書管理系統(tǒng)*endl;cout*e ndl;voidmainjiemian()/讀者cout*endl;專業(yè).專注cout*e ndl;cout*(2)還書*e ndl;cout*e ndl;cout*(3)圖書管理*e ndl;cout*e ndl;cout*(4)用戶管理*e ndl;cout*e ndl;cout*(0)退出*e ndl;void borrowtoretur n( char br)/借書還書函

16、數(shù)參數(shù) br 用來判斷是 借書”還是 還書”1 為借書”,2 為 還書int rdid=0;int bkid=0;int rsuffix, bsuffix;bdatabase t_bd;rdatabase t_rd;if(br=1)/ 借書rsuffix=t_rd.fi ndreaders(rdid);cout*endl;bsuffix=t_bd.fi ndbooks(bkid);專業(yè).專注if (rsuffix=-1 | bsuffix=-1)return;if(t_bd.btarraybsuffix.b_flag=2)cout圖書已經(jīng)借出,請選擇其它圖書endl; return;if(t_

17、rd.rdarrayrsuffix.r_bor=1)cout你已經(jīng)借過圖書,請先歸還再借其它圖書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.fi ndreaders(rdid);endl;bsuffix=t_bd.fi ndbooks(bkid);專業(yè).專注if (rsuffix=-1 | bsuffix=-1 )return; if(t_rd.rdarrayrs

18、uffix.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請重新輸入,讀者借的圖書號不正確 i n;switch (in)case 1:bd.addbooks(); break;case 2:bd.editbooks(); break;case 3:bd.delbooks(); break;case 4:bd.fi ndbooks(); break;case 5:bd.listbooks(); break;case 6:break;default:cout 輸入錯誤,請從新輸入。” i n;switch (in)case 1:bd.addreaders();break;case 2:bd.editreaders();break;case 3:bd.delreaders();break;case 4:bd.fi ndread

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論