C圖書管理系統(tǒng)源代碼_第1頁
C圖書管理系統(tǒng)源代碼_第2頁
C圖書管理系統(tǒng)源代碼_第3頁
C圖書管理系統(tǒng)源代碼_第4頁
C圖書管理系統(tǒng)源代碼_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、圖書管理系統(tǒng)系統(tǒng)功能:1 借書:根據(jù)借書人提出的圖書編號( id )查詢該圖書,如果該圖書現(xiàn)存量( store )不為 0 ,則提示輸入借閱者的學(xué)號(num) , 為借書人辦理借書手續(xù), 提示用戶該書已被借出。2歸書:根據(jù)借書人的學(xué)號查詢該讀者的信息,若有該讀者,則提示輸入所借書籍的編號( id ) , 為該讀者辦理還書手續(xù),提示該書已還。3. 書籍管理:彈出書籍管理界面,輸入所要執(zhí)行操作的號碼:( 1 )增加書籍:彈出注冊新書的窗口,按照提示輸入所增加書籍的信息,最后,提示用戶該書已被注冊。( 2 )刪除書籍:彈出刪除書籍的窗口,輸入所要刪除書籍的編號(id ) ,輸出該書的信息,確認(rèn)是否刪

2、除該書,1 為刪除,0 為放棄。( 3 )修改書籍:彈出修改書籍的窗口,輸入所要修改書籍的編號(id ) ,輸出該書的信息,確認(rèn)是否修改該書,1 為修改,0 為放棄。之后按照提示重新輸入書籍的信息。4. 讀者管理:彈出讀者管理界面,輸入所要執(zhí)行操作的號碼:( 1 )增加讀者:彈出注冊讀者的窗口,按照提示輸入所增加讀者的信息,最后,提示用戶該讀者已被注冊。( 2 )刪除書籍:彈出刪除讀者的窗口,輸入所要刪除讀者的學(xué)號(num) ,輸出該讀者的信息,確認(rèn)是否刪除該讀者,1 為刪除,0 為放棄。( 3 )修改書籍:彈出修改讀者的窗口,輸入所要修改讀者的學(xué)號(num) ,輸出該讀者的信息,確認(rèn)是否修改

3、該讀者,1 為修改,0 為放棄。之后按照提示重新輸入讀者的信息。5. 搜索:此搜索包括兩方面的搜索, 書籍搜索以及讀者搜索, 彈出搜索的窗口,按照提示輸 入所要搜索的內(nèi)容, 1 為書籍搜索, 2 為讀者搜索:( 1 ) 搜索書籍: 彈出搜索書籍的窗口, 按照提示輸入所要搜索的方式, 包括按書名搜索,書號搜索,作者搜索,出版社搜索,出版時間搜索; 根據(jù)所選方式輸入相應(yīng)的內(nèi)容,若是該書籍存在,則輸出該書籍的信息,否則,返回主界面。( 2 ) 搜索讀者: 彈出搜索讀者的窗口, 按照提示輸入所要搜索的方式, 包括按名字搜索,學(xué)號搜索;根據(jù)所選方式輸入相應(yīng)的內(nèi)容, 若是該讀者存在, 則輸出該讀者的信息,

4、否則,返回主界面。6. 退出:退出圖書管理系統(tǒng)。圖書類設(shè)計:私有成員:書名 (name) 、編號 (id) 、作者名 (writer) 、價格 (price) 、總存量 (total) 、現(xiàn)存量 (store)出版單位 (publish) 、出版時間 (pub_time) 。及該書的借閱情況(借閱者名字(borrower) 、借閱者學(xué)號(borr_num) :若無人借閱該書,則 borrower=0, borr_num=0 ;否則 borrower=借閱者名字,borr_num= 借閱者學(xué)號) 。class bookprivate:char name50;/char writer10; /ch

5、ar borrower10; /int id;/int borr_num;/int store;/int total;/int pub_time;/float price;/char publish50;/public:book();/bookint book1();/書名作者借書人書號借書人學(xué)號現(xiàn)存量總存量出版時間價格出版社類構(gòu)造函數(shù)書籍管理界面函數(shù)int book_add();/增加書籍函數(shù)int book_del();/刪除書籍函數(shù)int book_mod();/修改書籍函數(shù)int book_out();/借書函數(shù)int book_in();/還書函數(shù)int book_name();/按

6、書名搜索書籍函數(shù)int book_id();/按書號搜索書籍函數(shù)int book_pub();/按出版社搜索書籍函數(shù)int book_time();/按出版時間搜索書籍函數(shù)int book_writer();/按作者搜索書籍函數(shù)int seach_book();/搜索書籍界面函數(shù)int seach();/主搜索界面函數(shù)讀者類設(shè)計:私有成員 :借書人的姓名 (name) 、性別 (sex) 、年級( grade )、班級( class ) 、學(xué)號 (num) 。及所借圖書 名字 (book_name) 、借書日期 (date) 、可借天數(shù) (avai_days) 。class readerpri

7、vate:char name10;/名字int num;/學(xué)號char grade10;/年級char clas10;/班級char sex10;/性別char book_name50;/所借書的書名char date10;/借書日期int avai_days;/可借天數(shù)public:int reader_1();/ 讀者管理界面函數(shù)int reader_add();/ 增加讀者函數(shù)int reader_del();/ 刪除讀者函數(shù)int reader_mod();/ 修改讀者函數(shù)int reader_name();/按讀者名字搜索讀者函數(shù)int reader_num();/按讀者學(xué)號搜索讀者

8、函數(shù)int seach_reader();/ 搜索讀者界面函數(shù)char *getname();/獲取讀者姓名函數(shù)int getnum();/獲取讀者學(xué)號函數(shù)char *getgrade();/ 獲取讀者年級函數(shù)char *getclas();/ 獲取讀者班級函數(shù)char *getsex();/ 獲取讀者性別函數(shù)char *getbook_name();/ 獲取所借書書名函數(shù)char *getdate();/獲取借書日期函數(shù)int getavaiday();/ 獲取可借天數(shù)函數(shù)int setname(char *);/ 設(shè)置讀者姓名函數(shù)int setnum(int);/設(shè)置讀者學(xué)號函數(shù)int s

9、etgrade(char *);/設(shè)置讀者年級函數(shù)int setclas(char *);/設(shè)置讀者班級函數(shù)int setsex(char *);/設(shè)置讀者性別函數(shù)int setbook_name(char *);/設(shè)置所借書籍書名函數(shù)int setdate(char *);/設(shè)置借書日期函數(shù)int setavaiday(int);/設(shè)置可借天數(shù)函數(shù)圖書管理系統(tǒng)源代碼:#include using namespace std; class reader;class bookprivate:char name50;/書名char writer10; /作者char borrower10; /借書

10、人int id;/書號int borr_num;/借書人學(xué)號int store;/現(xiàn)存量int total;/總存量int pub_time;/出版時間float price;/價格char publish50;/出版社public:book();/book類構(gòu)造函數(shù)int book1();/ 書籍管理界面函數(shù)int book_add();/ 增加書籍函數(shù)int book_del();/ 刪除書籍函數(shù)int book_mod();/ 修改書籍函數(shù)int book_out();/ 借書函數(shù)int book_in();/ 還書函數(shù)int book_name();/ 按書名搜索書籍函數(shù)int boo

11、k_id();/ 按書號搜索書籍函數(shù)int book_pub();/ 按出版社搜索書籍函數(shù)int book_time();/ 按出版時間搜索書籍函數(shù)int book_writer();/ 按作者搜索書籍函數(shù)int seach_book();/ 搜索書籍界面函數(shù)int seach();/ 主搜索界面函數(shù);class reader名字學(xué)號年級班級性別/所借書的書名借書日期可借天數(shù)/ 讀者管理界面函數(shù)/ 增加讀者函數(shù)private:char name10;/int num;/char grade10;/char clas10;/char sex10;/char book_name50;char da

12、te10;/int avai_days;/public:int read1();int reader_add();int reader_del();int reader_mod();int reader_name(); /int reader_num();/int seach_reader();char *getname();/int getnum();char *getgrade();char *getclas();char *getsex();char *getbook_name();char *getdate();/int getavaiday();int setname(char *)

13、;int setnum(int);/int setgrade(char *);/int setclas(char *);/int setsex(char *);/ 刪除讀者函數(shù)/ 修改讀者函數(shù)按讀者名字搜索讀者函數(shù)按讀者學(xué)號搜索讀者函數(shù)/ 搜索讀者界面函數(shù)獲取讀者姓名函數(shù)/ 獲取讀者學(xué)號函數(shù)/ 獲取讀者年級函數(shù)/ 獲取讀者班級函數(shù)/ 獲取讀者性別函數(shù)/ 獲取所借書書名函數(shù)獲取借書如期函數(shù)/ 獲取可借天數(shù)函數(shù)/ 設(shè)置讀者姓名函數(shù)設(shè)置讀者學(xué)號函數(shù)設(shè)置讀者年級函數(shù)設(shè)置讀者班級函數(shù)設(shè)置讀者性別函數(shù)int setbook_name(char *);/int setdate(char *);/設(shè)置所借書籍

14、書名函數(shù)設(shè)置借書日期函數(shù)設(shè)置可借天數(shù)函數(shù)int setavaiday(int); / ;#include#include#include#include#define SIZE 100#define AMOUNT 50 book booksSIZE;reader studAMOUNT;int return_back()cout 請按下任何鍵 . getch();return 0; char *reader:getname() return name;int reader:getnum()return num;char *reader:getgrade()return grade;char *r

15、eader:getclas()return clas;char *reader:getsex()return sex;char *reader:getbook_name()return book_name;char *reader:getdate()return date;int reader:getavaiday()return avai_days;int reader:setname(char *names)strcpy(name,names);return 0;int reader:setnum(int nums)num=nums;return 0;int reader:setgrade

16、(char *grades)strcpy(grade,grades);return 0;int reader:setclas(char *classes)strcpy(clas,classes);return 0;int reader:setsex(char *sexs)strcpy(sex,sexs);return 0;int reader:setbook_name(char *book_names)strcpy(book_name,book_names);return 0;int reader:setdate(char *dates)strcpy(date,dates);return 0;

17、int reader:setavaiday(int avaiday)avai_days=avaiday;return 0;int page_title()system(cls);cout*n ;cout *歡迎來到圖書管理系統(tǒng)*ncout*n ;return 0; book:book()system(color 17);reader read;menu:page_title();cout主菜單支endlendlendlcout* * * * * * * * * endl;cout*1.借書* endlendl;cout*2.還書* endlendl;cout*3.書籍管理* endlendl;

18、cout*4.讀者管理* endlendl;cout*5.搜索* endlendl;cout*0.退出* endl;cout* * * * * * * * *endlendl;cout請輸入你的選擇:switch(getch()case1:book_out();break;case2:book_in();break;case3:book1();break;case4:read.read1();break;case5:seach();break;case0:exit(0);break;default:system(cls);page_title();cout n錯誤,請再輸入一遍! endl;g

19、oto menu;int book:book1()system(cls);管理 endl endl endl;page_title(); coutcout*1.增加書籍* endlendl;cout*2.注銷書籍* endlendl;cout*3.修改書籍* endlendl;cout*0.返回*endl;cout* * * * * * * * * * endl endl;cout*” endl;cout請輸入你的選擇:switch(getch()case1:book_add();break;case2:book_del();break;case3:book_mod();break;case0

20、:return_back();break;default:system(cls);coutn 錯誤,請再輸入一遍!n;return 0;int book:book_add() /定義增加書籍的函數(shù)FILE *bfp;int i,n;page_title();cout增加書籍 endl;cout 請輸入書的信息 endl;bfp=fopen(books,rb);for(n=0;nSIZE;n+)fread(&booksn,sizeof(booksn),1,bfp);if(booksn.id=0) break;fclose(bfp);docoutbooksn.id;for(i=0;iSIZE;i+

21、)if(booksn.id=booksi.id&n!=i)coutn這個書號已經(jīng)存在. endl;break;while(booksn.id=booksi.id);;coutbooksn.writer;coutbooksn.price;coutbooksn.total;coutbooksn.store;coutbooksn.publish;coutbooksn.pub_time;coutbooksn.borrower;coutbooksn.borr_num;bfp=fopen(books,wb);for(n=0;nSIZE;n+)fwrite(&booksn,si

22、zeof(booksn),1,bfp);fclose(bfp);coutn 該書已經(jīng)添加.n endl;return 0;int book:book_del() /定義刪除書籍的函數(shù)FILE *bfp;int i,id,s;page_title();cout注銷舊書 endl;if(bfp=fopen(books,rb)=0)無法打開文件coutfor(i=0;iSIZE;i+) fread(&booksi,sizeof(booksi),1,bfp);fclose(bfp);coutid;for(i=0,s=-1;iSIZE;i+)if(booksi.id=id)書名 書號 作者 價格book

23、 endl;booksi.id endl;booksi.writer endl;booksi.price endl;cout coutcoutcoutcoutcoutcoutcoutcoutcout總存量:booksi.total endl;現(xiàn)存量:booksi.store endl;出版社:booksi.publish endl;出版時間:booksi. pub_time endl;讀者:booksi.borrower endl;讀者學(xué)號:booksi.borr_num endl;cout* endl;couts;if(s=1)for(;iSIZE;i+)booksi=book

24、si+1;else if(s=0)return 0;if(s=-1)該書不存在. endl;coutif(bfp=fopen(books, wb)=0)cout無法打開文件)for(i=0;iSIZE;i+)(fwrite(&booksi,sizeof(booksi),1,bfp);)fclose(bfp);return 0;)int book:book_mod() / (FILE *bfp;int i,id,s,n;定義修改書籍的函數(shù)page_title();coutif(bfp=fopen(books,rb)=0)(cout無法打開文件.;)for(i=0;iSIZE;i+)(fread(

25、&booksi,sizeof(booksi),1,bfp);)fclose(bfp);coutendl請輸入書號:;修改書籍 id;for(i=0,s=0;iSIZE;i+)(if(booksi.id=id)(cout 書名:endl;cout cout cout cout cout cout cout cout cout: booksi.id endl;作者:booksi.writer endl;價格:booksi.price endl;總存量:booksi.total endl;現(xiàn)存量:booksi.store endl;出版社:booksi.publish endl

26、;出版時間:booksi. pub_time endl;讀者:booksi.borrower endl;讀者學(xué)號:booksi.borr_num endl;*”coutendl;couts;if(s=1) page_title();cout請重新輸入書籍的信息:endl;docoutendlbooksi.id;for(n=0;nSIZE;n+)if(booksi.id=booksn.id&n!=i)cout該書號已存在.endl;break;while(booksi.id=booksn.id);;coutbooksi.writer;coutbooksi.price

27、;coutbooksi.total;coutbooksi.store;coutbooksi.publish;coutbooksi.pub_time;coutbooksi.borrower;coutbooksi.borr_num;else if(s=0)if(s=-1)cout 該書不存在。 endl;if(bfp=fopen(books, wb)=0)cout 無法打開文件. ;for(i=0;iSIZE;i+)fwrite(&booksi,sizeof(booksi),1,bfp);fclose(bfp);return 0; int reader:reader_1() system(cls)

28、;page_title();cout管理 nendlendlendl;cout* * * * * * * * * *endl;cout* 1.增加讀者*endlendl;cout* 2.注銷讀者*endlendl;cout* 3.修改讀者*endl endl;cout* 0.返回*endl;cout* * * * * * * * * *endlendl;cout請輸入你的選擇: ;switch(getch()case1:reader_add();break;case2:reader_del();break;case3:reader_mod();break;case0:return_back()

29、;break;default:system(cls);coutn 錯誤,請再輸入一遍!n;return 0;/定義增加讀者函數(shù)int reader:reader_add()FILE *sfp;int i,n;page_title();cout增加讀者 endl;cout 請輸入讀者的信息 endl;sfp=fopen(students,rb);for(n=0;nAMOUNT;n+)fread(&studn,sizeof(studn),1,sfp);if(studn.num=0) break;fclose(sfp);docoutstudn.num;for(i=0;iAMOUNT;i+)if(st

30、udn.num=studi.num&n!=i)coutendl 這個學(xué)號已經(jīng)存在 .endl;break;while(studn.num=studi.num);;coutstudn.grade;coutstudn.clas;coutstudn.sex;coutstudn.book_name;cout借書日期:cinstudn.date;cout可借天數(shù):cinstudn.avai_days;sfp=fopen(students,wb);for(n=0;nAMOUNT ;n+)(fwrite(&studn,sizeof(studn),1 ,sfp);)fclose(s

31、fp);coutendl 該讀者已添加endl;return 0;)int reader: :reader_del()/定義刪除讀者的函數(shù)(FILE *sfp;int i,num,s;page_title();cout注銷讀者 endl;if(sfp=fopen(students, rb)=O)(cout無法打開文件.)for(i=0;iAMOUNT;i+)(fread(&studi,sizeof(studi),1 ,sfp);)fclose(sfp);coutendl 請輸入學(xué)號:cinnum;for(i=0,s=-1 ;iAMOUNT;i+)(if(studi.num=num)(cout名

32、字:endl;cout學(xué)號:studi.numendl;cout年級:studi.gradeendl;cout班級:studi.clasendl;cout性別:studi.sexendl;cout書名:studi.book_nameendl;cout借書日期:studi.dateendl;cout 可借天數(shù) : studi.avai_daysendl;coutQ*endl;couts;if(s=1)for(;iAMOUNT;i+) studi=studi+1;else if(s=0)(1 為是 ,0 為否 ): ;return 0;if(s=-1)cout 該讀者不存在.;

33、if(sfp=fopen(students, wb)=0)cout 無法打開文件. ;for(i=0;iAMOUNT;i+)fwrite(&studi,sizeof( studi),1,sfp);fclose(sfp);return 0;int reader:reader_mod() /定義修改讀者的函數(shù)FILE *sfp;int i,num,s,n;page_title();coutif(sfp=fopen(students, rb)=0)修改讀者 endl;cout 無法打開文件. )for(i=0;iAMOUNT;i+)(fread(&studi,sizeof(studi),1,sfp)

34、;)fclose(sfp);coutendl num;for(i=0,s=-1;iAMOUNT;i+)(if(studi.num=num)(cout名字:endl;cout學(xué)號:studi.numendl;cout年級:studi.gradeendl;cout班級:studi.clasendl;cout性別:studi.sexendl;cout書名:studi.book_nameendl;cout借書日期:studi.dateendl;cout可借天數(shù):studi.avai_daysendl;cout*endl;couts;if(s=1) (page_title();cou

35、t請重新輸入讀者的信息 . endl; do (coutstudi.num;for(n=0;nAMOUNT;n+)(if(studi.num=studn.num&n!=i)(cout該學(xué)號已存在.endl;break;)while(studi.num=studn.num);;coutstudi.grade;coutstudi.clas;coutstudi.sex;coutstudi.book_name;coutstudi.date;coutstudi.avai_days;else if(s=0)return 0;if(s=-1)cout 該讀者不存在. endl;i

36、f(sfp=fopen(students, wb)=0)cout 無法打開文件. ;for(i=0;iAMOUNT;i+)fwrite(&studi,sizeof(studi),1,sfp);fclose(sfp);return 0;定義借書函數(shù)int book:book_out()/FILE *bfp,*sfp;int id,i,s,l,num, avaiday; char dates10;page_title(); cout coutid;if(bfp=fopen(books, rb)=0) cout無法打開文件.n;for(i=0;iSIZE;i+) fread(&booksi,size

37、of(booksi),1,bfp); fclose(bfp);for(i=0;iSIZE;i+) if(id=booksi.id&booksi.id!=0) 借書 n;書的信息 n;system(cls); page_title(); coutcoutcoutcoutcout書名 書號 作者 價格 endl;booksi.id endl;booksi.writer endl;booksi.price endl;coutcoutcoutcoutcoutcout總存量:booksi.total endl;現(xiàn)存量:booksi.store endl;出版社:booksi.pub

38、lish endl;出版時間:booksi. pub_time endl;讀者:booksi.borrower endl;讀者學(xué)號:booksi.borr_num endl;cout*n;if(sfp=fopen(students,rb)=0)cout無法打開文件.;for(l=0;lAMOUNT;l+)fread(&studl,sizeof(studl),1,sfp);fclose(sfp);coutnum;for(l=0;lAMOUNT;l+) if(studl.getnum()=num)if(booksi.store!=0)coutavaiday;studl.setavaiday(ava

39、iday);coutdates;studl.setdate(dates);if(bfp=fopen(books, rb)=0)cout 無法打開文件.;for(s=0;sSIZE;s+)fread(&bookss,sizeof(bookss),1,bfp);fclose(bfp);if(bookss.id=booksi.id)bookss.store-;bookss.borr_num=studl.getnum();strcpy(bookss.borrower,studl.getname();strcpy(studl.getbook_name(),);cout 你已經(jīng)借了這

40、本書 . ;sfp=fopen(students,wb);for(l=0;lAMOUNT;l+)fwrite(&studl,sizeof(studl),1,sfp);fclose(sfp);else if(studl.getnum()!= num)cout對不起,該學(xué)號是錯誤的,請再輸入一遍:n;goto A;bfp=fopen(books, wb);for(s=0;sSIZE;s+)fwrite(&bookss,sizeof(books),1,bfp);fclose(bfp);定義還書函數(shù)還書 n;int book:book_in()/page_title();coutint i,num,id,n;char no=None;FILE *bfp,*sfp;if(sfp=fopen(students, rb)=0)cout 無法打開文件. ;for(i=0;iAMOUNT;i+)fread(&studi,sizeof(studi),1,sfp);fclose(sfp);coutnum;for(i=0;iAMOUNT;i+)if(studi.getnum()=num&studi.getnum()!=0) syste

溫馨提示

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

評論

0/150

提交評論