




已阅读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年中华传统木雕工艺师认证考试模拟题库
- 2025年中国农业科技发展高峰论坛专家讲座要点预测题
- 拉晶清装工安全知识培训课件
- 拉力试验培训课件
- 护士肝病科普知识培训课件
- 抢车安全知识培训内容课件
- 2025年环氧丙烷项目发展计划
- 2025年计算机数字信号处理板卡项目发展计划
- 2024-2025学年湖南省常德市石门县九年级(上)期末数学试卷(含答案)
- 2025年煤制合成氨项目建议书
- 《田径运动概述讲》课件
- 颅内压增高-神经外科教学课件
- 部编《我爱学语文》
- 信息安全意识培训课件
- 展览馆声学优化方案
- 10kV供配电系统电气运行规程
- 葫芦烙画教学
- 国际机票基础知识课件
- 快递行业员工行为规范及管理制度
- 综合实践创意垃圾桶课件
- 2024数据要素白皮书
评论
0/150
提交评论