图书管理系统
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; }
相关文章推荐
- 当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值(转)
- Leetcode 之 Word Break1 和 Word Break2
- 图书管理系统
- 这些年QQ都推出过哪些流氓功能?
- XUtils
- FFmpeg基础库编程开发学习笔记——音频常见格式及字幕格式
- ArcMap合并之路 -- 该段路合并成一个完整的路
- Apache CXF实战之七 使用Web Service传输文件
- Servlet
- Java、Json转换方式之一:json-lib
- Qt常用小技巧
- saltstack之服务管理
- Nginx 服务器安装及配置文件详解
- 关于hashCode方法的作用
- 服务器的编码
- jQuery 左侧滑动
- 求矩阵之和c++
- JAVA的JDBC连接与sql操作
- jstl
- java图片压缩,使用ImageIO代替JPEGImageEncoder