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

下载本文档

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

文档简介

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<<"书的名称"<<<<”图书状态:"<<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,"借出"力图书状态:"<<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. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论