简单的c++图书管理系统

哪位同志帮帮忙,我们老师出的期末考试题,实现基本的图书增、删、改、查功能即可,不要复杂的,得我能背过,谢谢谢。... 哪位同志帮帮忙,我们老师出的期末考试题,实现基本的图书增、删、改、查功能即可,不要复杂的,得我能背过,谢谢谢。 展开
 我来答
x68251
推荐于2016-08-21 · TA获得超过602个赞
知道小有建树答主
回答量:470
采纳率:0%
帮助的人:275万
展开全部
#include <stdio.h>
#include <vector>
using namespace std;
#include <string.h>
//图书类
class CBook
{
public:
int m_ID;//编号
char m_name[200];//书名
float m_price;//价格
public:
CBook(int _ID,char* _name,float _price = 0.0f);
public:
void Display();//输出
};
CBook::CBook(int _ID,char* _name,float _price)
{
this->m_ID = _ID;
strcpy(this->m_name,_name);
this->m_price = _price;
}
void CBook::Display()
{
printf("%d\t%s\t%.2f\n",this->m_ID,this->m_name,this->m_price);
}
typedef vector<CBook*> BOOKARRAY;
//图书管理类
class CBookManager
{
public:
BOOKARRAY m_bookarray;//图书集合
public:
void AddBook(CBook* book);//增加图书
void DeleteBook(int id);//根据编号删除图书
void ModifyBook(CBook* book);//修改图书
void SearchBook(int id);//根据编号查找
void SearchBook(char* name);//根据书名查找
void SearchBook(float price);//根据价格查找
};
void CBookManager::AddBook(CBook* book)
{
this->m_bookarray.push_back(book);
}
void CBookManager::DeleteBook(int id)
{
BOOKARRAY::iterator it = this->m_bookarray.begin();
while (it != this->m_bookarray.end())
{
if((*it)->m_ID == id)
{
this->m_bookarray.erase(it);
return;
}
++it;
}
}
void CBookManager::ModifyBook(CBook* book)
{
int len = this->m_bookarray.size();
if(len > 0)
{
for(int i=0;i<len;i++)
{
if(this->m_bookarray[i]->m_ID == book->m_ID)
{
strcpy(this->m_bookarray[i]->m_name,book->m_name);
this->m_bookarray[i]->m_price = book->m_price;
return;
}
}
}
}
void CBookManager::SearchBook(int id)
{
int len = this->m_bookarray.size();
if(len > 0)
{
for(int i=0;i<len;i++)
{
if(this->m_bookarray[i]->m_ID == id)
{
this->m_bookarray[i]->Display();
return;
}
}
}
}
void CBookManager::SearchBook(char* name)
{
int len = this->m_bookarray.size();
if(len > 0)
{
for(int i=0;i<len;i++)
{
if(strcmp(this->m_bookarray[i]->m_name,name) == 0)
{
this->m_bookarray[i]->Display();
return;
}
}
}
}
void CBookManager::SearchBook(float price)
{
int len = this->m_bookarray.size();
if(len > 0)
{
for(int i=0;i<len;i++)
{
if(this->m_bookarray[i]->m_price ==price )
{
this->m_bookarray[i]->Display();
return;
}
}
}
}
int main()
{
CBookManager bookmanager;
//添加图书
bookmanager.AddBook(new CBook(1, "猪1",52.4f));
bookmanager.AddBook(new CBook(2, "猪2",40.4f));
bookmanager.AddBook(new CBook(3, "猪3",33.4f));
bookmanager.AddBook(new CBook(4, "猪4",12.4f));
bookmanager.AddBook(new CBook(15,"猪5",8.4f));
bookmanager.AddBook(new CBook(16,"猪6",7.4f));
bookmanager.AddBook(new CBook(12,"猪7",99.4f));
bookmanager.AddBook(new CBook(19,"猪9",100.4f));
int len = bookmanager.m_bookarray.size();
printf("///////////////////////////\n");
for(int i=0;i<len;i++)
{
bookmanager.m_bookarray[i]->Display();
}
printf("///////////////////////////\n");
//删除编号为15的图书
bookmanager.DeleteBook(15);
//修改图书
CBook book(3,"羊1",50.2f);
bookmanager.ModifyBook(&book);
int len2 = bookmanager.m_bookarray.size();
for(int i=0;i<len2;i++)
{
bookmanager.m_bookarray[i]->Display();
}
printf("///////////////////////////\n");
//查找图书
bookmanager.SearchBook("羊1");
getchar();
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科
2020-12-27 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.2亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光与你506
2020-06-06
知道答主
回答量:1
采纳率:0%
帮助的人:609
展开全部
老哥,你有那个图书管理系统了吗,学弟现在也需要,跟你的题目一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式