版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#includeiostream。hinclude<fstream.h>#include<iomanip.h>#includestring.h/using namespace std;const int Maxb=10000; /最多的图书const int Maxr=100; /最多的读者const int Maxbor=5; /每位读者最多借
2、五本书/-class Book /图书类 int tag; /删除标记 1:已删 0:未删 int no; /图书编号
3、char name20; /书名 char author10; /作者名 char no210; /输入分类号 char dan20; /输入出版单位
4、60; char time20; /出版时间 int price; /价格 int onshelf; /是否在架1:在架0:已借pu
5、blic: Book() char *getname()return name; /获取书名 int getno()return no; /获取图书编号
6、160; int gettag()return tag; /获取删除标记 char getauthor()return author; /获取作者名 char *getno2()return no2;
7、160; /获取分类号 char *getdan()return dan; /获取出版单位 char *gettime()return time; /获取出版时间
8、60; int getprice()return price; /获取图书价格 void setname(char na)strcpy(name,na); /设置书名 void
9、160; setauthor(char au)strcpy(author,au); /设置作者名 void setno2(char n)strcpy(no2,n); /设置分类号 void setdan(char d)strcpy(dan,d);
10、60; /设置出版单位 void settime(char t)strcpy(time,t); /设置出版时间void setprice(int p)price=p; void delbook()tag=1;
11、0; /删除图书 1:已删 0:未删 void addbook(int n,char*na,charau,char*n2,charda,charti,int pr)/增加图书
12、160; tag=0; no=n; price=pr; strcpy(name,na);
13、0; strcpy(author,au); strcpy(no2,n2); strcpy(dan,da);&
14、#160; strcpy(time,ti); onshelf=1; int bor
15、rowbook() /借书操作 if(onshelf=1)
16、 onshelf=0; return 1;
17、160; return 0; v
18、oid retbook()onshelf=1; /还书操作 void disp() /输出图书 cout<set
19、w(10)no<setw(10)<<name<setw(10)<<setw(10) <authorsetw(10)<no2<setw(10)dan<setw(10)<time <<set
20、w(10)<price; if(onshelf=1)cout<setw(10)<<"在架"; else cout<setw(10)”已借出”<endl; ;/-class BDatabase /图
21、书库类 int top; /图书数量记录指针 Book bookMaxb; /图书记录public: BDatabase() /构造函数,将book。txt读到book中
22、; Book b; top=-1; fstream file("book.txt”,ios::in);
23、60; while(1) file。read(char*)&b,sizeof(b));
24、 if(!file)break; top+; booktop
25、=b; file.close(); void clear()top=-1; /全删
26、; int addbook(int n,charna,charau,char*n2,charda,charti,int pr)/增加图书 Book *p=query(n);/调用函数
27、0; if(p=NULL) top+;
28、0; booktop.addbook(n,na,au,n2,da,ti,pr); return 1;
29、0; return 0; Book query(int bookid) /查找图书
30、; for(int i=0;i<=top;i+) &
31、#160; if(booki。getno()=bookid&&booki.gettag()=0) return
32、60; &booki; return NULL; &
33、#160; Book query2(int bookid,char *name)/按书名查找图书 for(int i=0;i=top;i+)
34、 if(strcmp(booki.getname(),name)=0)
35、 bookid=booki.getno(); &
36、#160; return &booki;
37、0; return NULL; Book *query3(int bookid,char author) /按作者查找图书
38、60; for(int i=0;i<=top;i+) if(strcmp(b
39、ooki.getauthor(),author)=0) bookid=booki。getno();
40、0; return booki; &
41、#160; return NULL; void bookdata(); /图书库
42、维护 void disp() /输出图书 cout<<setw(10)<<"图书编号”<setw(10)<"图书名字"
43、60; <setw(10)<<"图书作者”setw(10)"图书分类” setw(10)<"出版单位"<<setw(10)<<"出版时间"
44、60; <<setw(10)<<”价格"setw(10)”借还信息”<endl; for(int i=0;i<=top;i+)
45、0; if(booki.gettag()=0) booki.disp();
46、0; BDatabase() /析构函数,将book写入book.txt文件中
47、 fstream file(”book。txt",ios::out); for(int i=0;i<=top;i+)
48、 if(booki.gettag()=0) file。write(char*)booki,sizeof(booki);
49、 file.close(); ;void BDatabase:bookdata() int bookid;
50、 /图书编号char bname40; /图书名char bauthor10; /图书作者char bno220; /图书分类char bdan20; /出版单位char btime20; /出版时间int bprice; /图书价格Book b; int choice=1;int choice2=1;int choice3=1; while(choice!
51、=0) cout"ttt图书信息维护n"; cout<"ttt1.添加信息n”; cout<<"ttt2.修
52、改信息n"; cout<<”ttt3.删除信息n"; cout"ttt4。信息查询n”; cout<"ttt5。显示信息n”;
53、0; cout<”ttt6.全部删除n”; cout"ttt0.退出图书信息维护n"; cout”请选择:" cinchoice; &
54、#160; switch(choice) case 1: cout"添加图书操作:
55、n”; cout<"请输入图书编号:”; cin>>bookid; cout<<”请输入书名:”; cinbname; cout"
56、请输入图书作者:"; cin>>bauthor; cout<<"请输入图书分类:"; cin>bno2; cout"请输入出版单位:”;
57、; cin>>bdan; cout<"请是输入出版时间:" cin>btime; cout<<"请输入图书价格:"; cin>>bprice;
58、; addbook(bookid,bname,bauthor,bno2,bdan,btime,bprice); cout"图书编号”bookid<<"添加成功n”; break; &
59、#160; case 2: cout”修改图书信息操作:n" cout<”请输入图书编号:”; cin>>bookid;
60、60; b=query(bookid); if(b=NULL) cout<<”图书不存在,无法修改n”; break;
61、 cout<"请输入要更改的:1.书名 2。作者名 3。分类 4。出版单位 5。出版时间 6。图书价格”; cin>>choice2; switch(choice2)
62、60; case 1: cout<"请输入书名:”; cin>bname; b->setname(bname);&
63、#160; cout"修改书名成功n"; break; case 2: &
64、#160; cout<<”请输入作者名:" cin>>bauthor; b-setauthor(bauthor); cout<"修改作者名成功n"
65、; break; case 3: cout"请输入分类号:”;
66、0; cin>bno2; b>setno2(bno2); cout<"修改分类成功n"; break;
67、160; case 4: cout<”请输入出版单位:”; cin>bdan; &
68、#160; b->setdan(bdan); cout”修改出版单位成功n" break; case 5:
69、0; cout<<”请输入出版时间:"; cin>>btime; b->settime(btime);
70、 cout<"修改出版时间成功n”; break; case 6: cout"
71、请输入图书价格:”; cin>>bprice; b>setprice(bprice); cout"修改图书价格成功n" break
72、; break; case 3:
73、0; cout<"删除图书操作:n”; cout<”请输入图书编号:”; cin>>bookid; b=query(bookid); if(b=NULL)cout&quo
74、t;不存在该图书,无法删除n”; b>delbook(); cout<”删除图书成功n”; break; case 4:
75、; cout<"图书信息查询操作:n”; cout”1。按图书编号查询 2。按图书作者查询 3.按图书名字查询n”; cout<”请选择查询方式:”; cin>choice3; switch(choice3)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度年福建省高校教师资格证之高等教育心理学考前冲刺试卷A卷含答案
- 房地产 总承包工程技术标述标汇报 -总承包工程技术标答辩标准范本2023版
- 一年级数学计算题专项练习1000题集锦
- 公共管理研究生社会实践报告
- 2024年居间协议范本大全
- 2024年城市渣土清理专项协议
- 2024年专业美容师劳动协议模板
- 2024建筑工程统一协议文件
- 办公室2024年度租赁协议范本
- 2024年自动门购销协议模板
- 《新员工培训课件:企业文化及价值观》
- 商务谈判与推销技巧课件
- 波峰焊治具设计规范
- 满族介绍(课堂PPT)
- 小学生主题班会教学设计 队会《男女平等》 通用版
- 工贸企业重大事故隐患判定标准培训PPT
- 云计算与大数据技术PPT全套完整教学课件
- 节约能源资源实施方案
- 《绘画的构图》课件
- 三年级数学上册第三单元《测量》课件
- 烟气阻力计算
评论
0/150
提交评论