版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 游乐设施事故理赔处理流程
- 黔南民族师范学院《语言学概论(英语)》2024-2025学年第二学期期末试卷
- 齐齐哈尔工程学院《医学统计学》2024-2025学年第二学期期末试卷
- 2025-2026学年英语教学设计字母拓展
- 资料的中学生演讲稿6篇
- 动火作业现场杂物清理防火标准
- 2025至2030礼品包装定制化需求与高端化发展研究报告
- 2025至2030中国医养结合模式养老服务供需匹配度调研报告
- 2025-2026学年第二学期高中化学教师方程式记忆指导方案
- 2025-2026学年暮色的拼音教学游戏设计
- 高二英语开学第一课课件
- 托管教师聘用合同范本
- 2025山西新华书店集团限公司社会招聘154人易考易错模拟试题(共500题)试卷后附参考答案
- GB/T 44968-2024粮食储藏小麦粉安全储藏技术规范
- 法律服务保密协议承诺书
- The-Spring-Festival春节介绍(中英文版)
- 我们为什么要努力学习-励志主题班会(课件)
- GB/T 3487-2024乘用车轮辋规格系列
- 周世勋《量子力学教程》考研考点讲义
- 民间文学研究现状分析
- 化工工艺流程图绘制课件
评论
0/150
提交评论