资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
这是一个使用 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()coutiBidbNameiBidbName * 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 * obv)list:iterator it = (*obv).begin();coutcBookname;while(it != (*obv).end()if(!strcmp(cBookname,it-bName)if(it-b_flag = 1)coutiBidbNameb_flag = 2)coutiBidbName * Borrowbooks(list *obv)coutcBookname;bool flag = Setflag(if(flag)cout * Returnbooks(list * obv)coutcBookname;list:iterator it = (*obv).begin();while(it != (*obv).end()if(!strcmp(cBookname,it-bName)if(it-b_flag = 2)Setflag(cout * 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 * 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,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(char in;doBookui();cinin;switch(in)case 1:Addbooks(break;case 2:Borrowbooks(break;case 3:Returnbooks(break;case 4:if(!Findbooks(&bdata.obv)coutch;if(ch = Y | ch = y)Savetofile(cout保存成功!endl;break;default:cout输入错误,请重新输入。 endl;while(in != 0);system(pause);return 0;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号