图书管理系统

来源:互联网 发布:金针软件客服 编辑:程序博客网 时间:2024/05/29 07:31
#include <stdio.h>#include <vector>using  namespace std;#include <string.h>//图书类class CBook{public:int             m_ID;//编号charm_name[200];//书名floatm_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;}
0 0