c++图书管理系统(完整精华排版)_第1页
c++图书管理系统(完整精华排版)_第2页
c++图书管理系统(完整精华排版)_第3页
c++图书管理系统(完整精华排版)_第4页
c++图书管理系统(完整精华排版)_第5页
已阅读5页,还剩16页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、#i ncludevioma nip>/图书管理系统#in clude<iostream>#i ncludevioma nip>#in clude<stri ng>#in clude<fstream>usingn amespacestd;constin tMaxb=10000; 最多的图书classBook/ 图书类inttag;/删除标记1:已删0:未删intn o; 图书编号charname20; 书名 charauthor10;作者名charno210;输入分类号charda n20;输入出版单位chartime20;/出版时间in tpr

2、ice;/价格public:Book()char*get name()retur nn ame;/ 获取姓名 in tget no()return no;/获取图书编号in tgettag()returntag;/ 获取删除标记 char*getauthor()returnauthor;/获取作者名char*get no 2()return no2;/获取分类号char*getda n()returnda n;获取出版单位页脚内容10char*gettime()returntime; 获取出版时间 chargetprice()retur nprice;/获取图书价格voidset name(c

3、harna)设置书名strcpy( name ,n a);voidsetauthor(chara u)/设置作者名strcpy(author,au);voidset no2(charn)设置分类号strcpy( no2,n);voidsetda n(chard)设置出版单位strcpy(da n, d);voidsettime(chart)/ 设置出版时间strcpy(time,t);增加图书voiddelbook()tag=1;删除图书voidaddbook(i ntn ,char* na,char*au,char* n2,char*da,char*ti,i ntpr)/ tag=0;no=

4、n;price=pr;strcpy( name ,n a);strcpy(author,au);strcpy( no2,n 2);strcpy(da n, da);strcpy(time,ti);voiddisp() 输出图书cout<<setw(10) <<no <<setw(10) <<n ame<<setw(10)ven dl;<<$6上可(10)<<&口也0<<$6上可(10) <<no 2<<$6上可(10)<<4&n< <$

5、6上可(10)<<亦6<<$6上可(10)<<卩"<classBDatabase/ 图书库类in ttop;/图书记录指针BookbookMaxb; 图书记录public:BDatabase()/ 构造函数,将 book.txt 读到 book中Bookb;top=-1;fstreamfile("book.txt",ios:i n);while(1)file.read(char*)&b,sizeof(b);if(!file)break;top+;booktop=b;file.close();voidclear()全

6、删top=-1;增加图书in taddbook(i ntn ,char* na,char*au,char* n2,char*da,char*ti,i ntpr)/Book*p=query (n);if(p=NULL)top+;booktop.addbook (n,n a,au ,n 2,da,ti,pr);return1;return。;Book*query(i ntbookid)/ 查找图书for(i nti=O;i<=top;i+)按书名查找图书按作者查找图书if(booki.get no ()=bookid&& booki.gettag()=0) retur n&a

7、mp;booki;returnNULL;Book*query2(i ntbookid,char* name)/for(i nti=0;i<=top;i+)if(strcmp(booki.get name(), name)=0) bookid=booki.get no();retur n&booki;returnNULL;Book*query3(i ntbookid,char*author)for(i nti=0;i<=top;i+) if(strcmp(booki.getauthor(),author)=( bookid=booki.get no();retur n&

8、;booki; returnNULL;voidbookdata();/图书库维护voiddisp()cout<vsetw(10)vv" 图 书编号"<<setw(10)vv" 图 书名字"<<setw(10)vv" 图 书作者 "<<setw(10)vv"图书分类"<<setw(10)<<"出 版单位"<<setw(10)<<"出 版时间"<<setw(10)<<

9、"价格 "<<e ndl;for(i nti=0;i<=top;i+)if(booki.gettag()=0)booki.disp();BDatabase() 析构函数,将book写入book.txt 文件中fstreamfile("book.txt",ios:out);for(i nti=0;i<=top;i+)if(booki.gettag()=0)file.write(char*)&booki,sizeof(booki);file.close();voidBDatabase:bookdata()in tchoice=

10、1;in tchoice2=1;in tchoice3=1;in tchoice4=1;charb name40;charbauthor10;charb no220;charbda n20;charbtime20;in tbprice;in tbookid;Book*b;while(choice!=0)cout«e ndl«e ndl;cout«"*“<<e ndl;cout<<"*1 添加信息 *"<<endl; cout<<"*2 修改信息 *"<<e

11、ndl; cout<<"*3 删除信息 *"<<endl; cout<<"*4 信息查询 *"<<endl; cout<<"*5 显示信息 *"<<endl; cout<<"*6 全部删除 *"<<endl; cout<<"*0 退出 *"<<endl;cout<<"*"coutvvendlvv"请按键选择您需要的操作:"ci

12、n> >choice;/如果输入的编号在菜单里不存在的情况-在for循环内部如果出现这样的错的时候while(choice!=1 &&choice!=2&&choice!=3&&choice!=4&&choice!=5&&choice!=6&&choice!=0) cout«endlvv"*您输入的编号在菜单里不存在,请重新输入*"<<'a'<<endl«endl;coutvv"请选择您需要的操作:

13、"cin> >choice;switch(choice)casel:#i ncludevioma nip>coutvv"输入图书编号:";cin> >bookid;cout«"输入图书书名:"cin»bn ame;cout«"输入作者名:"cin> >bauthor;cout«"输入分类号:"cin»bno2;coutvv"输入出版单位:"cin> >bda n;coutvv&quo

14、t;输入出版时间:"cin> >btime;coutvv"输入价格:"cin> >bprice;addbook(bookid,b name,bauthor,b no 2,bda n,btime,bprice);coutvv"图书编号"vvbookidvv"添加成功;按任意键返回菜单" break;case2:coutvv"输入图书编号:"cin> >bookid;b=query(bookid);if(b=NULL)coutvv"该图书不存在"vven

15、dl;break;页脚内容12#i ncludevioma nip>cout«e ndl«e ndl;cout«"*“<<e ndl;coutvv"输入新的分类号:"/修改图书的分类号页脚内容13cout<<"*1 书名 *"<<e ndl;cout<<"*2 作者*"<<endl;cout<<"*3 分类号 *"<<endl;cout<<"*4 出版单位 *&qu

16、ot;<<endl;cout<<"*5 出版时间 *"<<endl;cout<<"*0 退出系统 *"<<endl;cout<<"*" coutvv"请输入要更改的:1书名2作者名3分类号4出版单位5出版时间0退出"cin> >choice2;switch(choice2)casel: coutvv"输入新的书名:"/修改图书名 cin»bn ame;b->set name(b name);bre

17、ak;case2:coutvv"输入新的作者名:"/修改图书作者cin> >bauthor;b->setauthor(bauthor);break;case3: cin»bno2;#i ncludevioma nip>b->set no2(b no2);break;case4:coutvv"输入新的出版单位:"/修改图书出版单位cin> >bda n;b->setda n( bda n);break;case5:coutvv"输入新的出版时间:"cin> >btim

18、e;b->settime(btime);修改出版时间break;break;case3:coutvv"输入图书编号:"cin> >bookid;b=query(bookid);if(b=NULL)coutvv"该图书不存在"<<endl;break;b->delbook();case4:break;页脚内容15#i ncludevioma nip>coutvv"查找方式:"<<endlvv"1按图书编号查询2按图书名查询3按作者名查询0退出:" cin>

19、>choice3;switch(choice3)casel:coutvv"输入图书编号:"/按图书编号查询cin> >bookid;b=query(bookid);if(b=NULL)coutvv"该图书不存在"<<endl;break;b->disp();break;case2:coutvv"请输入图书名:"cin»bn ame;b=query2(bookid,b name);if(b=NULL)coutvv"该图书不存在啊! "vvendl;break;页脚内容17

20、#i ncludevioma nip>b->disp();break;case3:coutvv"请输入作者名:";cin> >bauthor;b=query3(bookid,bauthor);if(b=NULL)cout«"该作者不存在!"<<endl; break;b->disp();break;break;case5:disp();break;case6:clear();break;cout«endlvv" 谢谢您的支持!欢迎下次继续使用"<<endl

21、71;endl«endl;;voidmai n()system("color2f");cout«e ndl;cout«e ndl;页脚内容21cout«"*<<e ndl;cout«"请登录!"<<endl;cout«"*<<e ndl;cout«e ndl; cout«e ndl;in tq=0,w=1001; nu mber: in te;cout«"请输入账号"<<endl; cin> >e;if(q=e)nu mber1:intr;cout«"请输入密码"<<endl; cin>>r;if(w=r)fstreamiofile;if(!iofile)cout«"打开文件失败! "<<endl;

温馨提示

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

评论

0/150

提交评论