图书信息管理系统.rtf
#include#include#include using namespace std;class controlloer/图书管理员 private:int number;int age;char name20;public:controlloer();controlloer(int c,int a,char b20);int getnumber();int getage();char*getname();void reworkage(int i);void reworkname(char a20);controlloer:controlloer()number=0;char b20=no one;age=0;strcpy(name,b);controlloer:controlloer(int c,int a,char b20)number=c;age=a;strcpy(name,b);int controlloer:getage()return age;char*controlloer:getname()return name;int controlloer:getnumber()return number;void controlloer:reworkage(int i)age=i;void controlloer:reworkname(char a20)strcpy(name,a);class reader/读者(学生,老师)private:int number;int age;char name20;char zhiye20;char borrowbook20;public:reader();reader(int c,int a,char b20,char d20,char e20);int getnumber();int getage();char*getzhiye();char*getname();char*getborrowbook();void reworkborrowbook(char a20);reader:reader()char a20=没有人;char b20=无职称;char c20=没有借书;number=0;age=0;strcpy(name,a);strcpy(zhiye,b);strcpy(borrowbook,c);reader:reader(int a,int c,char b20,char d20,char e20)number=a;age=c;strcpy(name,b);strcpy(zhiye,d);strcpy(borrowbook,e);int reader:getnumber()return number;int reader:getage()return age;char*reader:getzhiye()return zhiye;char*reader:getname()return name;char*reader:getborrowbook()return borrowbook;void reader:reworkborrowbook(char a20)strcpy(borrowbook,a);struct book/图书 int num;char name20;char people20;void store()/存入图书信息 int i,c,b;char a20,d20;ifstream file(num.txt);fileb;file.close();cout现有的图书个数:;coutbendl;cout请输入你要输入的图书信息个数:c;book*shu=new bookc;cout输入图书信息(编号,名字,作者名:)endl;for(i=0;ishui.num;cinad;strcpy(shui.name,a);strcpy(shui.people,d);b+;ofstream outfile(stu.txt,ios_base:app);for(i=0;ic;i+)outfile.write(char*)&shui,sizeof(shui);outfile.close();cout存入成功!endl;ofstream tfile(num.txt);tfileb;tfile.close();void outbook()/输出图书信息 int i,h,j,g,z;char k;ifstream tfile(num.txt);if(!tfile)cout 文件不存在!;tfile.close();coutk;if(k=N)exit(0);else ofstream tfile(num.txt);g=0;tfileg;cout本图书馆已经有g本图书endl;if(g=0)cout图书馆里没有书!endl;exit(0);else book*shu=new bookg;ifstream is(stu.txt,ios_base:binary);if(is)for(i=0;ig;i+)is.read(char*)&shui,sizeof(shui);for(i=0;ig;i+)cout编号 名字 作者名endl;coutshui.num shui.name shui.peopleendl;else coutERROR:cannot open filestu.txtz;file.close();else cout没有文件;cout已有的读者个数:;coutzendl;coutj;couth;reader*people=new readerz;ifstream out(reader.txt,ios_base:binary);if(out)for(i=0;iz;i+)out.read(char*)&peoplei,sizeof(peoplei);else coutERROR:cannot open filestu.txtendl;out.close();peoplej-1.reworkborrowbook(shuh-1.name);cout编号 年龄 名字 职业 借书情况 endl;coutpeoplej-1.getnumber()peoplej-1.getage()peoplej-1.getname()peoplej-1.getzhiye()peoplej-1.getborrowbook()endl;ofstream outfile(reader.txt,ios_base:binary);for(i=0;iz;i+)outfile.write(char*)&peoplei,sizeof(peoplei);outfile.close();coutb;file.close();cout图书管理员个数:bendl;else cout没有图书管信息理员endl;coutd;if(d=y)ofstream infile(controlloernum.txt);infileh;exit(0);else exit(0);ifstream is(controlloer.txt,ios_base:binary);if(is)controlloer*bookpeople=new controlloerb;for(i=0;ib;i+)is.read(char*)&bookpeoplei,sizeof(bookpeoplei);for(i=0;ib;i+)cout编号 年龄 名字 endl;coutbookpeoplei.getnumber()bookpeoplei.getage()bookpeoplei.getname()endl;else coutERROR:cannot open filestu.txtendl;cout没有这个文件夹endl;coutd;if(d=y)ofstream infile(controlloer.txt);exit(0);else exit(0);is.close();void libary()/图书馆的总信息 system(cls);system(color 2e);cout endl;cout endl;cout endl;cout学校图书馆由本部图书馆及彭州校区图书馆组成.馆舍面积41048平方米;cout(其中现有馆舍面积11578 平方米,在建图书馆馆舍面积29470平方米),;cout各院系资料室面积1120平方米。学校拥有纸质文献198万余册,;cout生均81.17册,电子文献161.7万余种。近三年校图书馆每年进书量均超过15万册.b;file.close();cout已有的图书管理员个数:;coutbendl;else cout没有图书管信息理员endl;coutd;if(d=y)ofstream infile(controlloernum.txt);infileh;infile.close();b=0;else exit(0);ofstream outfile(controlloer.txt,ios:app);coutcia;controlloer bookpeople(c,i,a);cout编号 年龄 名字 endl;coutbookpeople.getnumber()bookpeople.getage()bookpeople.getname()endl;outfile.write(char*)&bookpeople,sizeof(bookpeople);outfile.close();b+;ofstream tfile(controlloernum.txt);tfileb;tfile.close();coutb;file.close();else cout没有图书管信息理员;exit(0);cout已有的图书管理员个数:;coutbendl;controlloer*bookpeople=new controlloerb;ifstream is(controlloer.txt,ios_base:binary);if(is)for(i=0;ib;i+)is.read(char*)&bookpeoplei,sizeof(bookpeoplei);for(i=0;ib;i+)cout编号 年龄 名字 endl;coutbookpeoplei.getnumber()bookpeoplei.getage()bookpeoplei.getname()endl;else coutERROR:cannot open filestu.txtendl;is.close();couth;coutgd;bookpeopleh-1.reworkage(g);bookpeopleh-1.reworkname(d);cout该了后的名字:bookpeopleh-1.getname();ofstream tfile(controlloer.txt,ios_base:binary);for(j=0;jb;file.close();else cout没有文件;cout已有的读者个数:;coutbendl;coutf;if(f=n)while(l=1)coutciade;reader people(c,i,a,d,e);cout编号 年龄 名字 职业 借书情况 endl;coutpeople.getnumber()people.getage()people.getname()people.getzhiye()people.getborrowbook()endl;ofstream outfile(reader.txt,ios_base:app);outfile.write(char*)&people,sizeof(people);outfile.close();b+;couth;if(h=1)l=1;if(h=0)l=0;ofstream tfile(readernum.txt);tfileb;tfile.close();cout保存成功!;else int g=0;coutciade;reader people(c,i,a,d,e);cout编号 年龄 名字 职业 借书情况 endl;coutpeople.getnumber()people.getage()people.getname()people.getzhiye()people.getborrowbook()endl;ofstream outfile(reader.txt,ios_base:trunc);outfile.write(char*)&people,sizeof(people);outfile.close();g+;ofstream file(readernum.txt);fileg;coutg;file.close();coutb;file.close();else cout没有文件;exit(0);cout已有的读者个数:;coutbendl;reader*people=new readerb;ifstream is(reader.txt,ios_base:binary);if(is)for(i=0;ib;i+)is.read(char*)&peoplei,sizeof(peoplei);for(i=0;ib;i+)cout编号 年龄 名字 职业 借书情况 endl;coutpeoplei.getnumber()peoplei.getage()peoplei.getname()peoplei.getzhiye()peoplei.getborrowbook()endl;else coutERROR:cannot open filestu.txtendl;is.close();void choicecontroll()/管理员 int q,l=1,i,h;system(cls);system(color 2e);cout endl;cout endl;cout endl;cout i;while(l)if(i=12)system(cls);system(color 3e);cout endl;cout endl;cout endl;cout*0,退出.*endl;cout*1,查询图书馆管理员的信息*endl;cout*2,存入新的管理员信息.*endl;cout*3,存入图书的信息*endl;cout *4,修改图书管理员的信息*endl;cout *5,存入读者的信息 *endl;cout *6,查询读者的总信息(借阅情况)*endl;coutq;if(q=0&q7)switch(q)case 0:l=0;break;case 1:controller();system(pause);break;case 2:storecontroller();system(pause);break;case 3:store();system(pause);break;case 4:reworkcontrolloer();system(pause);break;case 5:storereader();system(pause);break;case 6:reseachallread();system(pause);break;else system(cls);system(color 4e);cout endl;cout endl;cout endl;cout 输入错误请重新输入!endl;cout endl;cout endl;cout endl;system(pause);else system(cls);system(color 2e);cout endl;cout endl;cout endl;cout 密码错误endl;cout 请输入正确的密码!endl;cout 退出,请按0,不退出,按1h;if(h=0)l=0;if(h=1)system(cls);system(color 2e);cout endl;cout endl;cout endl;cout i;void researchbook()int i,g,h=0;char a20;ifstream tfile(num.txt);tfileg;cout本图书馆已经有g本图书endl;book*shu=new bookg;if(g=0)cout图书馆里没有书!endl;else ifstream is(stu.txt,ios_base:binary);if(is)for(i=0;ig;i+)is.read(char*)&shui,sizeof(shui);else coutERROR:cannot open filestu.txtendl;is.close();couta;for(i=0;ig;i+)if(strcmp(shui.name,a)=0)cout编号 名字 作者名endl;coutshui.num shui.name shui.peopleendl;h+;if(h=0)coutb;file.close();else cout没有文件;cout已有的读者个数:;coutbendl;reader*people=new readerb;ifstream is(reader.txt,ios_base:binary);if(is)for(i=0;ib;i+)is.read(char*)&peoplei,sizeof(peoplei);else coutERROR:cannot open filestu.txtendl;is.close();couta;for(i=0;ib;i+)if(strcmp(peoplei.getname(),a)=0)cout编号 年龄 名字 职业 借书情况 endl;coutpeoplei.getnumber()peoplei.getage()peoplei.getname()peoplei.getzhiye()peoplei.getborrowbook()endl;h+;if(h=0)cout没有这个读者!;void choicepeople()/学生,老师 int i;char l=y;while(l=y)system(cls);system(color 3b);cout endl;cout endl;cout endl;cout endl;cout endl;cout endl;cout*0,退出.*endl;cout*1,输出图书信息.*endl;cout*2,查询图书馆的总信息.*endl;cout*3,查询图书.*endl;cout*4,查询读者的信息.*endl;couti;switch(i)case 0:l=n;break;case 1:outbook();system(pause);break;case 2:libary();system(pause);break;case 3:researchbook();system(pause);break;case 4:reseachreader();system(pause);break;void main()int h,l=1;while(l)system(cls);system(color 1a);cout endl;cout endl;cout endl;cout 图书管理系统endl;cout-设计者:计算机学院06级2班卢克波endl;cout endl;cout endl;cout 0.退出endl;cout 1.管理员endl;cout 2.其他人(学生,老师)endl;couth;if(h=0&h3)switch(h)case 0:cout欢迎参阅本图书馆!endl;exit(0);case 1:choicecontroll();system(pause);break;case 2:choicepeople();system(pause);break;else system(cls);system(color 4e);cout endl;cout endl;cout endl;cout 输入错误请重新输入!endl;cout endl;cout endl;cout endl;system(pause);