您的位置:首页 > 其它

图书管理系统

2015-07-03 12:33 232 查看
#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: