图书管理系统.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:11 大小:38KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

图书管理系统.doc

图书管理系统.doc

预览

免费试读已结束,剩余 1 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

#include<iostream>#include<iomanip>#include<string>#include<fstream>usingnamespacestd;constintMaxr=100;constintMaxb=100;constintMaxbor=5;classReader{private:inttag;intno;charname[10];intborbook[Maxbor];public:Reader(){}char*getname(){returnname;}intgettag(){returntag;}intgetno(){returnno;}voidsetname(charna[]){strcpy(name,na);}voiddelbook(){tag=1;}voidaddreader(intn,char*na){tag=0;no=n;strcpy(name,na);for(inti=0;i<Maxbor;i++)borbook[i]=0;}voidborrowbook(intbookid){for(inti=0;i<Maxbor;i++){if(borbook[i]==0){borbook[i]=bookid;return;}}}intretbook(intbookid){for(inti=0;i<Maxbor;i++){if(borbook[i]==bookid){borbook[i]=0;return1;}}return0;}voiddisp(){cout<<setw(5)<<no<<setw(10)<<name<<"借书编号:[";for(inti=0;i<Maxbor;i++)if(borbook[i]!=0)cout<<borbook[i]<<"|";cout<<"]"<<endl;}};classRDatabase{private:inttop;Readerread[Maxr];public:RDatabase(){Readers;top=-1;fstreamfile("reader.txt",ios::in);while(1){file.read((char*)&s,sizeof(s));if(!file)break;top++;read[top]=s;}file.close();}voidclear(){top=-1;}intaddreader(intn,char*na){Reader*p=query(n);if(p==NULL){top++;read[top].addreader(n,na);return1;}return0;}Reader*query(intreaderid){for(inti=0;i<=top;i++)if(read[i].getno()==readerid&&read[i].gettag()==0){return&read[i];}returnNULL;}voiddisp(){for(inti=0;i<=top;i++)read[i].disp();}voidreaderdata();~RDatabase(){fstreamfile("reader.txt",ios::out);for(inti=0;i<=top;i++)if(read[i].gettag()==0)file.write((char*)&read[i],sizeof(read[i]));file.close();}};voidRDatabase::readerdata(){charchoice;charrname[20];intreaderid;Reader*r;while(choice!='0'){cout<<"\n\n\t\t\t读者维护\n\n\n\t\t1新增\n\n\t\t2更改\n\n\t\t3删除\n\n\t\t4查找\n\n\t\t5显示\n\n\t\t6全删\n\n\t\t0退出"<<endl;cin>>choice;switch(choice){case'1':cout<<"输入读者编号:";cin>>readerid;cout<<"输入读者姓名:";cin>>rname;addreader(readerid,rname);break;case'2':cout<<"输入读者编号:";cin>>readerid;r=query(readerid);if(r==N