C++实现小型图书管理系统攻略
1. 系统设计
图书管理系统主要包含以下功能:
- 添加书籍
- 删除书籍
- 查询书籍信息
- 修改书籍信息
- 显示所有书籍
因此,我们可以设计一个Book类来表示一本书籍,其中包含以下属性:
- 书名
- 作者
- 出版社
- ISBN编号
- 价格
下面是Book类的定义:
class Book {
public:
string name; // 书名
string author; // 作者
string publisher; // 出版社
string isbn; // ISBN编号
double price; // 价格
Book(string n, string a, string p, string i, double pr) {
name = n;
author = a;
publisher = p;
isbn = i;
price = pr;
}
void print() { // 打印图书信息
cout << "书名:" << name << endl;
cout << "作者:" << author << endl;
cout << "出版社:" << publisher << endl;
cout << "ISBN编号:" << isbn << endl;
cout << "价格:" << price << endl;
}
};
接着,我们可以设计一个BookManager类来管理所有书籍,其中包含以下方法:
- 添加书籍
- 删除书籍
- 查询书籍信息
- 修改书籍信息
- 显示所有书籍
下面是BookManager类的定义:
class BookManager {
private:
vector<Book> books; // 存储所有书籍
public:
void addBook(Book book) { // 添加书籍
books.push_back(book);
cout << "添加成功!" << endl;
}
void removeBook(string isbn) { // 删除书籍
for (int i = 0; i < books.size(); i++) {
if (books[i].isbn == isbn) {
books.erase(books.begin() + i);
cout << "删除成功!" << endl;
return;
}
}
cout << "没有找到该书籍!" << endl;
}
void queryBook(string keyword) { // 查询书籍信息
for (int i = 0; i < books.size(); i++) {
if (books[i].name.find(keyword) != string::npos || books[i].author.find(keyword) != string::npos || books[i].publisher.find(keyword) != string::npos || books[i].isbn == keyword) {
cout << "查找结果如下:" << endl;
books[i].print();
return;
}
}
cout << "没有找到相关书籍!" << endl;
}
void modifyBook(string isbn, Book book) { // 修改书籍信息
for (int i = 0; i < books.size(); i++) {
if (books[i].isbn == isbn) {
books[i] = book;
cout << "修改成功!" << endl;
return;
}
}
cout << "没有找到该书籍!" << endl;
}
void printAllBooks() { // 显示所有书籍
cout << "图书馆藏书如下:" << endl;
for (int i = 0; i < books.size(); i++) {
books[i].print();
cout << endl;
}
}
};
2. 使用示例
下面以添加书籍和查询书籍信息为例展示系统的使用。
2.1 添加书籍
BookManager manager; // 创建图书管理器对象
Book book("C++程序设计", "张三", "清华大学出版社", "978-7-302-32692-7", 59.8); // 创建一本书籍
manager.addBook(book); // 添加书籍
输出为:
添加成功!
2.2 查询书籍信息
manager.queryBook("C++"); // 查询名字包含C++的书籍信息
输出为:
查找结果如下:
书名:C++程序设计
作者:张三
出版社:清华大学出版社
ISBN编号:978-7-302-32692-7
价格:59.8
以上就是C++实现小型图书管理系统的攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++实现小型图书管理系统 - Python技术站