1、C语言 图书馆信息管理系统#include #include #include using namespace std; class Librarian /图书管理员类 public: Librarian(); Librarian(int n,int j,char na20,int w ); int getnumber(); int getjobage(); char *getname(); int getwages(); void resetjobage(int j); void resetwages(int w); void resetname(char na20); private: i
2、nt number; int jobage; char name20; int wages; ; Librarian:Librarian() /其函数的实现 number=0; char b20=no one; jobage=0; strcpy(name,b); Librarian:Librarian(int n,int j,char na20,int w) number=n; jobage=j; strcpy(name,na); wages=w; int Librarian:getjobage() return jobage; char *Librarian:getname() return
3、 name; int Librarian:getnumber() return number; int Librarian:getwages() return wages; void Librarian:resetjobage(int j) jobage=j; void Librarian:resetname(char na20) strcpy(name,na); void Librarian:resetwages(int w) wages=w; class reader /读者类 private: int number; int age; char name20; char borrowbo
4、ok20; public: reader(); reader(int c,int a,char b20,char e20); int getnumber(); int getage(); char *getname(); char * getborrowbook(); void reworkborrowbook(char a20); ; reader:reader() /其函数的实现 char a20=没有人; char c20=没有借书; number=0; age=0; reader:reader(int a,int c,char d20,char e20) number=a; age=c
5、; strcpy(name,d); strcpy(borrowbook,e); int reader:getnumber()return number; int reader:getage()return age; 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 wr
6、iter20; ; void outbookinf() /输出所有图书信息 int i; ifstream infile(allbook.txt,ios:in); char line50; cout书名t书号t作者endl; for(i=1;i=10;i+) infile.getline(line,50,n); coutlinen; file.close(); else cout没有图书管信息理员; exit(0); ifstream is(controlloer.txt,ios_base:binary); if(is) Librarian *A=new Librariann; for(i=0
7、;in;i+) is.read(char *)&Ai,sizeof(Ai); for(i=0;in;i+) cout编号t工龄t名字t工资endl; coutAi.getnumber()tAi.getjobage()tAi.getname()tAi.getwages()endl; else couttxt文件打开出错endl; is.close(); void libary() /图书馆的总信息 system(cls); system(color 2e); cout endl; cout endl; cout endl; cout本校图书馆由本部图书馆及彭州校区图书馆组成,图书馆总面积达了*平
8、方米; cout (本馆现在有*类书籍*万册,*类书籍*万册,*类书籍*万册*类书籍*万册),; cout图书馆现有工作人员*名; cout图书馆现有的现代化设备价值超过*万元n; file.close(); else n=0; cout已有的图书管理员个数:; coutnendl; coutnumagenamewage; Librarian A(num,age,name,wage); cout编号 工龄 名字 工资 endl; coutA.getnumber() A.getjobage() A.getname() A.getwages()endl; ofstream outfile(cont
9、rolloer.txt,ios_base:app ); outfile.write(char *)&A,sizeof(A); outfile.close(); n+; ofstream tfile(serchLaninf.txt); tfilen; tfile.close(); coutn; file.close(); else cout没有图书管信息理员; exit(0); cout已有的图书管理员个数:; coutnendl; Librarian *A=new Librariann; ifstream is(controlloer.txt,ios_base:binary); if(is)
10、for(i=0;in;i+) is.read(char *)&Ai,sizeof(Ai); for(i=0;in;i+) cout编号 工龄 名字 工资endl; coutAi.getnumber() Ai.getjobage() Ai.getname() Ai.getwages()endl; else cout打开文件出错endl; is.close(); couth; coutjobagenamewage; Ah-1.resetjobage(jobage); Ah-1.resetname(name); Ah-1.resetwages(wage); cout该管理员修改后的名字是:Ah-1.
11、getname() 工龄是:Ah-1.getjobage() 工资是:Ah-1.getwages()endl; ofstream tfile(controlloer.txt,ios_base:binary); for(j=0;jn;j+) tfile.write(char *)&Aj,sizeof(Aj); tfile.close(); void aadbook() /新增图书 int num;char name12;char writer10;int n; a: ofstream fout(allbook.txt,ios:app); cout请录入图书信息:endl; cout书名t书号t作
12、者name;foutnamenum;foutnumwriter;foutwritern; fout.close(); cout是否继续录入?1.是2.否n; if(n=1) goto a; else void studentland(); studentland(); void delate() /删除函数 int m; cout选择操作选项:endl; cout 1.删除全部信息endl; cout 2.单个删除m; if(m=1) ofstream file(allbook.txt,ios:trunc); cout全部删除完毕,按任意键返回!endl; file.close(); getc
13、h(); system(cls); void studentland(); studentland(); char str1080,buf20; a: int i=0,flag=100,c=0; ifstream fin(allbook.txt); if(!fin) cout文件打开失败!endl; getch(); system(cls); void studentland(); studentland(); cout请输入你要删除的书名:buf; strcat(buf,t); while(fin.getline(stri,80) if(strncmp(stri,buf,strlen(buf
14、)=0) flag=i; i+; fin.close(); if(flag=100) cout没有你所要删除的书籍!重新按1,否则0.b; if(b=1)goto a; else c=1; if(c=0) ofstream fout(allbook.txt); for(int j=0;ji;j+) if(j=flag)continue; foutstrjendl; fout.close(); cout你要删除的书籍的信息已删除,继续按1,否则按0.b; if(b=1)goto a; cout操作已经结束,按任意键返回.endl; getch(); system(cls); void stude
15、ntland(); studentland(); void searchbook() / 查找书籍 a: ifstream fin; int flag=0,b,length; char str20; char f200;char g200; fin.open(allbook.txt); if(!fin) coutOpen f1.dat error.endl; exit(1); while(1) coutstr; strcat(str,t); length=strlen(str); cout-endl; while(fin.getline(f,199) strcpy(g,f); if(strnc
16、mp(str,f,length)=0) flag=1; break; if(flag=1) cout所查询的书已经找到:n; cout-endl; cout书名t书号t作者tendl; coutgendl; cout-endl; flag=0; cout要继续查询按1,否则按0:b; if(b=0)break; else fin.close(); cout没有此书,继续按1,否则按0.b; if(b=0)break; goto a; fin.close(); cout查询完毕,按任意键返回.endl; getch(); system(cls); void studentland(); stud
17、entland(); void seachreader() / 查询读者信息 a: ifstream fin; int flag=0,b,length; char str20; char f200;char g200; fin.open(readernum.txt); if(!fin) cout没有此信息文件!endl; exit(1); while(1) coutstr; strcat(str,t); length=strlen(str); cout-endl; while(fin.getline(f,199) strcpy(g,f); if(strncmp(str,f,length)=0)
18、 flag=1; break; if(flag=1) cout所查询的读者已经找到:n; cout-endl; cout名字t编号t年龄t借书次数endl; coutgendl; cout-endl; flag=0; cout要继续查询按1,否则按0:b; if(b=0)break; goto a; else fin.close(); cout没有此人,继续按1,否则按0.b; if(b=0)break; goto a; fin.close(); cout查询完毕,按任意键返回.b; file.close(); else cout没有文件; cout已有的读者个数:; coutbendl; r
19、eader *A=new readerb; ifstream is(reader.txt,ios_base:binary); if(is) for(i=0;ib;i+) is.read(char *)&Ai,sizeof(Ai); else couttxt文件打开出错endl; is.close(); couta; for(i=0;ib;i+) if(strcmp(Ai.getname(),a)=0) cout编号 年龄 名字 借书情况 endl; coutAi.getnumber() Ai.getage() Ai.getname() Ai.getborrowbook()endl; h+; i
20、f(h=0)cout没有这个读者!; */ void Librarianland() /管理员登陆函数 int q,l=1,i,h; system(cls); system(color 2e); cout endl; cout endl; cout endl; cout i; while(l) if(i=00000) system(cls); system(color 3e); cout endl; cout endl; cout endl; cout |* 0,返回上一级菜单. *|endl; cout |* 1,查询图书馆管理员的信息 *|endl; cout |* 2,存入新的管理员信息
21、. *|endl; cout |* 3,修改图书管理员的信息 *|endl; cout |* 4,新增图书 *|endl; cout |* 5,删除图书 *|endl; coutq; if(q=0&q6) switch(q) case 0: l=0; break; case 1:serchLaninf(); system(pause); break; case 2:storelibrarian(); system(pause); case 3:reLaninf(); system(pause); break; case 4: void aadbook(); aadbook(); break; case 5: void delate(); delate(); break; default: break; else system(cls); system(color 4e); cout endl; cout endl; cout
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1