- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于list容器的简单图书管理系统
这是一个使用list容器的简单图书管理系统,可以实现对增删改查,借书还书操作。
以下代码为VS2008 win32 控制台应用程序。
#include stdafx.h
#include iostream
#include list
#include string
#include fstream
using namespace std;
class Book
{
public:
int iBid;//图书ISBN编号
char bName[10];//图书名称
int b_flag;//图书标志位,为在架,为借出
Book(int,char na[],int);
void Setflag(listBook *,char *,int);
};
bool Setflag(std::listBook *obv,char na[10],int iflag)
{
listBook::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;
}
listBook * Addbooks(listBook *obv)
{
coutISBN:;
int id;
cinid;
coutname:;
char name[10];
cinname;
Book book(id,name,1);
(*obv).push_back(book);
return obv;
}
void Showbooks(listBook obv)
{
listBook::iterator it = obv.begin();
if(obv.empty())
cout库中没有书籍,请先添加书籍endl;
else
cout所有书籍:endl;
while(it != obv.end())
{
if((*it).b_flag == 1)
{
coutISBN: it-iBid\t\t书名: it-bName\t\t状态:在架endl;;
}
else if((*it).b_flag == 2)
{
coutISBN: it-iBid\t\t书名: it-bName\t\t状态:已借出endl;
}
it++;
}
coutendl;
}
listBook * Delbooks(listBook * obv)
{
cout请输入你要删除的书名:;
char cBookname[10];
cincBookname;
listBook::iterator it = (*obv).begin();
int bid = 0;
while(it != (*obv).end())
{
if(!strcmp(cBookname,it-bName))
{
int bid = it-iBid;
char cTempname[10];
strcpy(cTempname,it-bName);
(*obv).erase(it);
cout删除成功,删除的书ISBN为%dbid书名为:%scTempnameendl;
break;
}
it++;
}
return obv;
}
bool Findbooks(listBook * obv)
{
listBook::iterator it = (*obv).begin();
cout请输入你要查找的书名:;
char cBookname[10];
cincBookname;
while(it != (*obv).end())
{
if(!strcmp(cBookname,it-bName))
{
if(it-b_flag == 1)
{
cout查找成功!查找到的书本信息为:ISBN:it-iBid书名:it-bName状态:在架endl;
return true;
}
else if(it-b_flag == 2)
{
cout查找成功!查找到的书本信息为:ISBN:it-iBid
您可能关注的文档
- 托福蓝皮单词总结.doc
- c++判断输入的日期为星期几.doc
- ffmpeg主要数据结构和函数.doc
- 托福口语练习素材.doc
- Java编程题(字符串、日期等)完.doc
- 英语辩论常用语句汇总.doc
- 商务英语口语翻译练习.doc
- 赵俊友课堂实录.docx
- 英语写作高端词汇.doc
- Unit 3 Understanding each other互相信任.doc
- 2024年财务部个人工作总结简单版(二篇).docx
- 2024年业务员年终总结(6篇).docx
- 2024年仓库管理工作总结参考(五篇).docx
- 2024年药剂科工作总结例文(三篇).docx
- 2024年车辆租赁协议参考样本(二篇).docx
- 2024年人事文员工作总结经典版(三篇).docx
- 2025版高考语文一轮复习讲义:学案47 理解文言实词(一)——词分古今,义究源流.pdf
- 2025版高考语文一轮复习讲义:前备知识 散文文体知识与教材学考关联梳理.pdf
- 2025版高考语文一轮复习讲义:学案35 《〈老子〉四章》《五石之瓠》《兼爱》.pdf
- 2025版高考语文一轮复习讲义-必修上册(一) 整合迁移1 古今同形异义双音节词与动词活用.pdf
文档评论(0)