帮我写一个c++的图书管理系统
时间: 2023-08-28 18:23:13 浏览: 97
好的,下面是一个简单的C++图书管理系统的示例代码。需要注意的是,这只是一个简单的示例,可以根据实际需求进行修改和补充。
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 定义书籍结构体
struct Book {
string name; // 书名
string author; // 作者
string publisher; // 出版社
int publish_year; // 出版年份
int stock; // 库存
};
// 定义图书馆类
class Library {
public:
// 添加书籍
void add_book(string name, string author, string publisher, int publish_year, int stock) {
Book book = { name, author, publisher, publish_year, stock };
books.push_back(book);
}
// 借出书籍
void borrow_book(string name) {
for (auto& book : books) {
if (book.name == name) {
if (book.stock > 0) {
book.stock--;
cout << "借出成功!" << endl;
return;
}
else {
cout << "库存不足!" << endl;
return;
}
}
}
cout << "未找到该书籍!" << endl;
}
// 归还书籍
void return_book(string name) {
for (auto& book : books) {
if (book.name == name) {
book.stock++;
cout << "归还成功!" << endl;
return;
}
}
cout << "未找到该书籍!" << endl;
}
// 显示库存
void show_stock() {
cout << "======库存清单======" << endl;
for (auto& book : books) {
cout << "书名:" << book.name << ",作者:" << book.author << ",出版社:" << book.publisher << ",出版年份:" << book.publish_year << ",库存:" << book.stock << endl;
}
cout << "====================" << endl;
}
private:
vector<Book> books; // 存储书籍信息
};
int main() {
Library library;
// 添加书籍
library.add_book("C++ Primer", "Lippman", "O'Reilly", 2013, 10);
library.add_book("Effective C++", "Scott Meyers", "Addison-Wesley", 2005, 5);
library.add_book("Thinking in Java", "Bruce Eckel", "Prentice Hall", 2006, 8);
// 显示库存
library.show_stock();
// 借书
library.borrow_book("C++ Primer");
library.borrow_book("C++ Primer");
library.borrow_book("C++ Primer");
// 显示库存
library.show_stock();
// 还书
library.return_book("C++ Primer");
// 显示库存
library.show_stock();
return 0;
}
```
在这个示例中,我们定义了一个`Book`结构体来存储书籍的信息,包括书名、作者、出版社、出版年份和库存。我们还定义了一个`Library`类,用于存储书籍信息,并提供添加书籍、借出书籍、归还书籍和显示库存等功能。在`main`函数中,我们创建了一个`Library`对象,添加了几本书,然后借了几本书和还了一本书,并显示库存情况。
当然,这只是一个简单的示例,实际的图书管理系统可能需要更多的功能和更复杂的逻辑,需要根据实际需求进行开发。
阅读全文