已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
这是一个使用list容器的简单图书管理系统,可以实现对增删改查,借书还书操作。以下代码为VS2008 win32 控制台应用程序。#include stdafx.h#include #include #include #include using namespace std;class Bookpublic:int iBid;/图书ISBN编号char bName10;/图书名称int b_flag;/图书标志位,为在架,为借出Book(int,char na,int);void Setflag(list *,char *,int);bool Setflag(std:list *obv,char na10,int iflag)list:iterator it = (*obv).begin();while(it != (*obv).end()if(!strcmp(na,it-bName)Book book(it-iBid,it-bName,iflag);(*obv).erase(it);(*obv).push_back(book);return true;it+;Book:Book(int id,char name,int i)iBid = id;strcpy(bName,name);b_flag = i;list * Addbooks(list *obv)coutid;coutname;Book book(id,name,1);(*obv).push_back(book);return obv;void Showbooks(list obv)list:iterator it = obv.begin();if(obv.empty()cout库中没有书籍,请先添加书籍endl;elsecout所有书籍:endl;while(it != obv.end()if(*it).b_flag = 1)coutISBN: iBidtt书名: bNamett状态:在架endl;else if(*it).b_flag = 2)coutISBN: iBidtt书名: bNamett状态:已借出endl;it+;coutendl;list * Delbooks(list * obv)coutcBookname;list:iterator it = (*obv).begin();int bid = 0;while(it != (*obv).end()if(!strcmp(cBookname,it-bName)int bid = it-iBid;char cTempname10;strcpy(cTempname,it-bName);(*obv).erase(it);cout删除成功,删除的书ISBN为%dbid书名为:%scTempnameendl;break;it+;return obv;bool Findbooks(list * obv)list:iterator it = (*obv).begin();coutcBookname;while(it != (*obv).end()if(!strcmp(cBookname,it-bName)if(it-b_flag = 1)cout查找成功!查找到的书本信息为:ISBN:iBid书名:bName状态:在架b_flag = 2)cout查找成功!查找到的书本信息为:ISBN:iBid书名:bName状态:已借出endl;return true;it+;list * Borrowbooks(list *obv)coutcBookname;bool flag = Setflag(&(*obv),cBookname,2);if(flag)cout借书成功!endl;elsecout没有这本书或这本书没有库存了endl;return obv;list * Returnbooks(list * obv)coutcBookname;list:iterator it = (*obv).begin();while(it != (*obv).end()if(!strcmp(cBookname,it-bName)if(it-b_flag = 2)Setflag(&(*obv),cBookname,1);cout还书成功,欢迎下次光临endl;break;elsecout你未借过这本书endl;break;it+;return obv;void Savetofile(list * obv)list:iterator it = (*obv).begin();FILE * f1 = fopen(.data.txt,w);if(!f1)coutb_flag = 1)fprintf(f1,%dt%st在架n,it-iBid, it-bName);elsefprintf(f1,%dt%st已借出n,it-iBid,it-bName);it+;fclose(f1);class Bdatapublic:list obv;/list:iterator it;void Bookui()cout|-|endl;cout| 图书维护 |endl;cout| 1 增加 |endl;cout| 2 借书 |endl;cout| 3 还书 |endl;cout| 4 查找 |endl;cout| 5 删除 |endl;cout| 6 保存 |endl;cout| 7 显示 |endl;cout| 0 退出 |endl;cout|-|endl;list * Loadfile(list * obv)FILE * f1 = fopen(.data.txt,r);list:iterator it = (*obv).begin();int i;char na10;char flag10;while(1)int j = fscanf(f1,%dt%st%s,&i,na,flag);if(j = EOF)break;if(!strcmp(flag,在架)Book book(i,na,1);(*obv).push_back(book);else if(!strcmp(flag,已借出)Book book(i,na,2);(*obv).push_back(book);/it+;return obv;int _tmain(int argc, _TCHAR* argv)Bdata bdata;if(bdata.obv.empty()Loadfile(&bdata.obv);char in;doBookui();cinin;switch(in)case 1:Addbooks(&bdata.obv);break;case 2:Borrowbooks(&bdata.obv);break;case 3:Returnbooks(&bdata.obv);break;case 4:if(!Findbooks(&bdata.obv)cout查找失败,查找的书籍不存在endl;break;case 5:Delbooks(&bdata.obv);break;case 6:Savetofile(&bdata.obv);break;case 7:Showbooks(bdata.obv);break;c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人成长计划模板与执行力手册
- 中级农作物植保员技能提升计划
- 教育行业新教师入职工作计划与专业发展
- 财务顾问客户沟通技巧
- 合规团队建设与工作指导手册
- 无人机装调检修工高级面试备考攻略
- 宠物食品行业发展趋势分析报告
- 智能终端的多媒体内容开发计划
- 幼儿园冬训达标通知书
- 幼儿园禁止吵闹通知书
- 医院检验科标本采集
- 2025年注册验船师考试船舶检验专业英语词汇试卷
- 分散特困监护协议书范本
- 维生素d教学课件
- 2025年中国电信内部转正考试题及答案
- 2025年核安全专业技术培训班结业考试试题(附答案)
- 足球队管理规章制度与队员行为准则
- 毕节物业收费管理办法
- 2025至2030中国化妆品检测行业市场深度调研及投资策略及有效策略与实施路径评估报告
- 2025年教师入编考试教育公共基础知识题库及答案
- 2025年6月黑吉辽蒙高考地理真题完全解读
评论
0/150
提交评论