C图书管理系统源代码_第1页
C图书管理系统源代码_第2页
C图书管理系统源代码_第3页
C图书管理系统源代码_第4页
C图书管理系统源代码_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、图书管理系统系统功能:1借书:根据借书人提出的图书编号(id)查询该图书,如果该图书现存量(store)不为0,则提示输入借阅者的学号(num),为借书人办理借书手续,提示用户该书已被借出。2归书:根据借书人的学号查询该读者的信息,若有该读者,则提示输入所借书籍的编号(id),为该读者办理还书手续,提示该书已还。 3.书籍管理:弹出书籍管理界面,输入所要执行操作的号码: (1)增加书籍:弹出注册新书的窗口,按照提示输入所增加书籍的信息,最后,提示用户该书已被注册。(2)删除书籍:弹出删除书籍的窗口,输入所要删除书籍的编号(id),输出该书的信息,确认是否删除该书,1为删除,0为放弃。(3)修改

2、书籍:弹出修改书籍的窗口,输入所要修改书籍的编号(id),输出该书的信息,确认是否修改该书,1为修改,0为放弃。之后按照提示重新输入书籍的信息。4.读者管理:弹出读者管理界面,输入所要执行操作的号码: (1)增加读者:弹出注册读者的窗口,按照提示输入所增加读者的信息,最后,提示用户该读者已被注册。(2)删除书籍:弹出删除读者的窗口,输入所要删除读者的学号(num),输出该读者的信息,确认是否删除该读者,1为删除,0为放弃。(3)修改书籍:弹出修改读者的窗口,输入所要修改读者的学号(num),输出该读者的信息,确认是否修改该读者,1为修改,0为放弃。之后按照提示重新输入读者的信息。5.搜索:此搜

3、索包括两方面的搜索,书籍搜索以及读者搜索,弹出搜索的窗口,按照提示输入所要搜索的内容,1为书籍搜索,2为读者搜索:(1)搜索书籍:弹出搜索书籍的窗口,按照提示输入所要搜索的方式,包括按<1>书名搜索,<2>书号搜索,<3>作者搜索,<4>出版社搜索,<5>出版时间搜索;根据所选方式输入相应的内容,若是该书籍存在,则输出该书籍的信息,否则,返回主界面。(2)搜索读者:弹出搜索读者的窗口,按照提示输入所要搜索的方式,包括按<1>名字搜索,<2>学号搜索;根据所选方式输入相应的内容,若是该读者存在,则输出该读者的信息

4、,否则,返回主界面。6.退出:退出图书管理系统。图书类设计:私有成员:书名(name)、编号(id)、作者名(writer)、价格(price)、总存量(total)、现存量(store)、出版单位(publish)、出版时间(pub_time)。及该书的借阅情况(借阅者名字(borrower)、借阅者学号(borr_num):若无人借阅该书,则borrower=0, borr_num=0;否则borrower=借阅者名字,borr_num=借阅者学号)。class bookprivate: char name50; /书名 char writer10; /作者 char borrower10

5、; /借书人 int id; /书号 int borr_num; /借书人学号 int store; /现存量 int total; / 总存量 int pub_time; /出版时间 float price; /价格 char publish50; /出版社public: book(); /book类构造函数 int book1();/书籍管理界面函数 int book_add();/增加书籍函数 int book_del();/删除书籍函数 int book_mod();/修改书籍函数 int book_out();/借书函数 int book_in();/还书函数 int book_na

6、me(); /按书名搜索书籍函数 int book_id();/按书号搜索书籍函数 int book_pub();/按出版社搜索书籍函数 int book_time();/按出版时间搜索书籍函数 int book_writer();/按作者搜索书籍函数 int seach_book();/搜索书籍界面函数 int seach(); /主搜索界面函数;读者类设计:私有成员: 借书人的姓名(name)、性别(sex)、年级(grade)、班级(class)、学号(num)。及所借图书名字(book_name)、借书日期(date)、可借天数(avai_days)。class reader

7、private: char name10; /名字 int num; /学号 char grade10; /年级 char clas10; /班级 char sex10; /性别 char book_name50; /所借书的书名 char date10; /借书日期 int avai_days; /可借天数public: int reader_1();/读者管理界面函数 int reader_add();/增加读者函数 int reader_del();/删除读者函数 int reader_mod(); /修改读者函数 int reader_name(); /按读者名字搜索读者函数 int

8、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 *); /设置读者姓

9、名函数 int setnum(int); /设置读者学号函数 int setgrade(char *); /设置读者年级函数 int setclas(char *); /设置读者班级函数 int setsex(char *); /设置读者性别函数 int setbook_name(char *); /设置所借书籍书名函数 int setdate(char *); /设置借书日期函数 int setavaiday(int); /设置可借天数函数;图书管理系统源代码:#include<iostream>using namespace std;class reader;class boo

10、kprivate: char name50; /书名 char writer10; /作者 char borrower10; /借书人 int id; /书号 int borr_num; /借书人学号 int store; /现存量 int total; / 总存量 int pub_time; /出版时间 float price; /价格 char publish50; /出版社public: book(); /book类构造函数 int book1();/书籍管理界面函数 int book_add();/增加书籍函数 int book_del();/删除书籍函数 int book_mod()

11、;/修改书籍函数 int book_out();/借书函数 int book_in();/还书函数 int book_name(); /按书名搜索书籍函数 int book_id();/按书号搜索书籍函数 int book_pub();/按出版社搜索书籍函数 int book_time();/按出版时间搜索书籍函数 int book_writer();/按作者搜索书籍函数 int seach_book();/搜索书籍界面函数 int seach(); /主搜索界面函数;class readerprivate: char name10; /名字 int num; /学号 char grade10

12、; /年级 char clas10; /班级 char sex10; /性别 char book_name50; /所借书的书名 char date10; /借书日期 int avai_days; /可借天数public: int read1();/读者管理界面函数 int reader_add();/增加读者函数 int reader_del();/删除读者函数 int reader_mod(); /修改读者函数 int reader_name(); /按读者名字搜索读者函数 int reader_num(); /按读者学号搜索读者函数 int seach_reader(); /搜索读者界面

13、函数 char *getname(); /获取读者姓名函数 int getnum(); /获取读者学号函数 char *getgrade();/获取读者年级函数 char *getclas(); /获取读者班级函数 char *getsex();/获取读者性别函数 char *getbook_name();/获取所借书书名函数 char *getdate(); /获取借书如期函数 int getavaiday();/获取可借天数函数 int setname(char *); /设置读者姓名函数 int setnum(int); /设置读者学号函数 int setgrade(char *); /

14、设置读者年级函数 int setclas(char *); /设置读者班级函数 int setsex(char *); /设置读者性别函数 int setbook_name(char *); /设置所借书籍书名函数 int setdate(char *); /设置借书日期函数 int setavaiday(int); /设置可借天数函数;#include<string.h>#include<conio.h>#include<stdlib.h>#include<windows.h>#define SIZE 100#define AMOUNT 50b

15、ook 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 *reader:getclas()return clas;char *reader:getsex()return sex;char *reader:getbook_name()return

16、 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(char *grades)strcpy(grade,grades);return 0;int reader:setclas(char *classes)strcpy(clas,cla

17、sses);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;int reader:setavaiday(int avaiday)avai_days=avaiday;return 0;int page_title() system("c

18、ls"); cout<<" * * * * * * * * * * * * * * * * * * * * * * * * * *n " cout<<" * 欢迎来到图书管理系统 *n " cout<<" * * * * * * * * * * * * * * * * * * * * * * * * * *n " return 0;book:book() system("color 17"); reader read; menu: page_title(); cout&

19、lt;<" 主菜单 "<<endl<<endl<<endl; cout<<" * * * * * * * * * * * "<< endl; cout<<" * 1.借 书 * "<< endl<<endl; cout<<" * 2.还 书 * "<< endl<<endl; cout<<" * 3.书籍管理 * "<< endl<

20、;<endl; cout<<" * 4.读者管理 * "<< endl<<endl; cout<<" * 5.搜 索 * "<< endl<<endl; cout<<" * 0.退 出 * "<< endl; cout<<" * * * * * * * * * * *"<<endl<<endl; cout<<" 请输入你的选择:" ; switch

21、(getch() case'1':book_out();break; case'2':book_in();break; case'3':book1();break; case'4':read.read1();break; case'5':seach();break; case'0':exit(0);break; default:system("cls"); page_title(); cout<<" n错误,请再输入一遍! "<< en

22、dl; goto menu; int book:book1() system("cls"); page_title(); cout<<" 管理" <<endl<< endl<< endl; cout<<" * * * * * * * * * * *"<< endl; cout<<" * 1.增加书籍 * "<< endl<< endl; cout<<" * 2.注销书籍 * "

23、<< endl<< endl; cout<<" * 3.修改书籍 * "<< endl<< endl; cout<<" * 0.返 回 *"<<endl; cout<<" * * * * * * * * * * * "<< endl<< endl; cout<<" 请输入你的选择:" ; switch(getch()case'1':book_add();break; c

24、ase'2':book_del();break; case'3':book_mod();break; case'0':return_back();break; default:system("cls"); cout<<"n错误,请再输入一遍!n" return 0;int book:book_add() /定义增加书籍的函数 FILE *bfp; int i,n; page_title(); cout<<" 增加书籍"<< endl; cout<

25、<">>>请输入书的信息<<<"<< endl; bfp=fopen("books","rb"); for(n=0;n<SIZE;n+) fread(&booksn,sizeof(booksn),1,bfp); if(booksn.id=0) break; fclose(bfp); do cout<<"请输入一个新的书号(书号从1001开始,但必须不同于已存在的书号):" ; cin>>booksn.id; for(i=0;

26、i<SIZE;i+) if(booksn.id=booksi.id&&n!=i) cout<<"n这个书号已经存在. "<< endl; break; while(booksn.id=booksi.id); cout<<"书名: " cin>>; cout<<"作者: " cin>>booksn.writer; cout<<"价格: " cin>>booksn.price; c

27、out<<"总存量: " cin>>booksn.total; cout<<"现存量: " cin>>booksn.store; cout<<"出版社: " cin>>booksn.publish; cout<<"出版时间: " cin>>booksn.pub_time; cout<<"借书人: " cin>>booksn.borrower; cout<<"

28、;借书者学号: " cin>>booksn.borr_num; bfp=fopen("books","wb"); for(n=0;n<SIZE;n+) fwrite(&booksn,sizeof(booksn),1,bfp); fclose(bfp); cout<<"n该书已经添加.n"<< endl; return 0; int book:book_del() /定义删除书籍的函数 FILE *bfp; int i,id,s; page_title(); cout<&

29、lt;" 注销旧书"<< endl; if(bfp=fopen("books","rb")=0) cout<<"无法打开文件. " for(i=0;i<SIZE;i+) fread(&booksi,sizeof(booksi),1,bfp); fclose(bfp); cout<<"n请输入书号: " cin>>id; for(i=0,s=-1;i<SIZE;i+) if(booksi.id=id) cout<<&q

30、uot;书名: "<<<< endl; cout<<"书号: "<<booksi.id<< endl; cout<<"作者: "<<booksi.writer<< endl; cout<<"价格: "<<booksi.price<< endl; cout<<"总存量: "<<booksi.total<< endl; c

31、out<<"现存量: "<<booksi.store<< endl; cout<<"出版社: "<<booksi.publish<< endl; cout<<"出版时间: "<<booksi. pub_time<< endl; cout<<"读者: "<<booksi.borrower<< endl; cout<<"读者学号: "<&l

32、t;booksi.borr_num<< endl; cout<<"*"<< endl; cout<<"请问是否确定注销此书(1为是,0为否): " cin>>s; if(s=1) for(;i<SIZE;i+) booksi=booksi+1; else if(s=0) return 0; if(s=-1) cout<<"该书不存在."<< endl; if(bfp=fopen("books", "wb")

33、=0) cout<<"无法打开文件. " for(i=0;i<SIZE;i+) fwrite(&booksi,sizeof(booksi),1,bfp); fclose(bfp); return 0;int book:book_mod() /定义修改书籍的函数 FILE *bfp; int i,id,s,n; page_title(); cout<<" 修改书籍"<<endl; if(bfp=fopen("books","rb")=0) cout<<&q

34、uot;无法打开文件. " for(i=0;i<SIZE;i+) fread(&booksi,sizeof(booksi),1,bfp); fclose(bfp); cout<<endl<<"请输入书号: " cin>>id; for(i=0,s=0;i<SIZE;i+) if(booksi.id=id) cout<<"书名:"<<<<endl; cout<<"书号: "<<booksi.

35、id<< endl; cout<<"作者: "<<booksi.writer<< endl; cout<<"价格: "<<booksi.price<< endl; cout<<"总存量: "<<booksi.total<< endl; cout<<"现存量: "<<booksi.store<< endl; cout<<"出版社: "

36、;<<booksi.publish<< endl; cout<<"出版时间: "<<booksi. pub_time<< endl; cout<<"读者: "<<booksi.borrower<< endl; cout<<"读者学号: "<<booksi.borr_num<< endl;cout<<"*"<< endl;cout<<"是否确

37、定修改该书籍(1为是,0为否): "cin>>s;if(s=1) page_title();cout<<">>>请重新输入书籍的信息:<<<"<<endl;docout<<endl<<"请输入一个新的书号(学号从1001开始,但必须不同于已存在的书号):"cin>>booksi.id;for(n=0;n<SIZE;n+)if(booksi.id=booksn.id&&n!=i)cout<<"该书

38、号已存在. "<<endl;break;while(booksi.id=booksn.id); cout<<"书名: " cin>>; cout<<"作者: " cin>>booksi.writer; cout<<"价格: " cin>>booksi.price; cout<<"总存量: " cin>>booksi.total; cout<<"现存量: &

39、quot; cin>>booksi.store; cout<<"出版社: " cin>>booksi.publish; cout<<"出版时间: " cin>>booksi.pub_time; cout<<"借书人: " cin>>booksi.borrower; cout<<"借书者学号: " cin>>booksi.borr_num; else if(s=0) return 0; if(s=-1) cou

40、t<<"该书不存在。"<<endl; if(bfp=fopen("books", "wb")=0) cout<<"无法打开文件. " for(i=0;i<SIZE;i+) fwrite(&booksi,sizeof(booksi),1,bfp); fclose(bfp); return 0;int reader:reader_1()system("cls"); page_title(); cout<<" 管理n"&

41、lt;<endl<<endl<<endl; cout<<" * * * * * * * * * * *"<<endl; cout<<" * 1.增加读者 *"<<endl<<endl; cout<<" * 2.注销读者 *"<<endl<<endl; cout<<" * 3.修改读者 *"<<endl<< endl; cout<<"

42、* 0.返 回 *"<<endl; cout<<" * * * * * * * * * * *"<<endl<<endl; cout<<" 请输入你的选择:" ;switch(getch()case'1':reader_add();break; case'2':reader_del();break; case'3':reader_mod();break; case'0':return_back();break; defau

43、lt:system("cls"); cout<<"n错误,请再输入一遍!n"return 0;int reader:reader_add() /定义增加读者函数 FILE *sfp; int i,n; page_title(); cout<<" 增加读者"<<endl; cout<<">>>请输入读者的信息<<< "<<endl; sfp=fopen("students","rb"

44、); for(n=0;n<AMOUNT;n+) fread(&studn,sizeof(studn),1,sfp); if(studn.num=0) break; fclose(sfp); do cout<<"请输入一个新的学号(学号从1001开始,但必须不同于已存在的学号):" cin>>studn.num; for(i=0;i<AMOUNT;i+) if(studn.num=studi.num&&n!=i) cout<<endl <<"这个学号已经存在."<&l

45、t;endl; break; while(studn.num=studi.num); cout<<"名字: " cin>>; cout<<"年级: " cin>>studn.grade; cout<<"班级: " cin>>studn.clas; cout<<"性别: " cin>>studn.sex; cout<<"书名: " cin>>studn.boo

46、k_name; cout<<"借书日期: " cin>>studn.date; cout<<"可借天数: " cin>>studn.avai_days; sfp=fopen("students","wb"); for(n=0;n<AMOUNT;n+) fwrite(&studn,sizeof(studn),1,sfp); fclose(sfp); cout<<endl<< "该读者已添加." <<e

47、ndl; return 0;int reader:reader_del() /定义删除读者的函数 FILE *sfp; int i,num,s; page_title(); cout<<" 注销读者"<<endl; if(sfp=fopen("students", "rb")=0) cout<<"无法打开文件. " for(i=0;i<AMOUNT;i+) fread(&studi,sizeof(studi),1,sfp); fclose(sfp); cout<

48、;<endl <<"请输入学号: " cin>>num; for(i=0,s=-1;i<AMOUNT;i+) if(studi.num=num) cout<<"名字: "<<<<endl;cout<<"学号: "<<studi.num<<endl;cout<<"年级: "<<studi.grade<<endl;cout<<"班级:

49、"<<studi.clas<<endl;cout<<"性别: "<<studi.sex<<endl;cout<<"书名: "<<studi.book_name<<endl;cout<<"借书日期: "<<studi.date<<endl;cout<<"可借天数: "<<studi.avai_days<<endl;cout<<"* "<&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论