为了实现一个简单的C++图书管理系统,我们可以使用类来表示图书和用户。以下是一个简单的实现:
```cpp
#include
#include
#include
class Book {
public:
Book(const std::string& title, int isbn) : title_(title), isbn_(isbn) {}
std::string getTitle() const { return title_; }
int getIsbn() const { return isbn_; }
private:
std::string title_;
int isbn_;
};
class User {
public:
User(const std::string& name) : name_(name) {}
std::string getName() const { return name_; }
private:
std::string name_;
};
class Library {
public:
void addBook(const Book& book) {
books_.push_back(book);
}
void borrowBook(const std::string& name, int isbn) {
for (auto it = books_.begin(); it != books_.end(); ++it) {
if (it->getIsbn() == isbn && it->getTitle() == name) {
std::cout << "借书成功!" << std::endl;
it->setBorrowed(true);
return;
}
}
std::cout << "未找到该书!" << std::endl;
}
void returnBook(const std::string& name, int isbn) {
for (auto it = books_.begin(); it != books_.end(); ++it) {
if (it->getTitle() == name && it->getIsbn() == isbn) {
std::cout << "还书成功!" << std::endl;
it->setBorrowed(false);
return;
}
}
std::cout << "未找到该书!" << std::endl;
}
void displayBooks() const {
for (const auto& book : books_) {
std::cout << "书名:" << book.getTitle() << ",ISBN:" << book.getIsbn() << std::endl;
}
}
private:
std::vector
};
int main() {
Library library;
library.addBook(Book("计算机科学", 123456789));
library.addBook(Book("数据结构", 87654321));
library.borrowBook("计算机科学", 123456789);
library.borrowBook("数据结构", 87654321);
library.displayBooks();
library.returnBook("计算机科学", 123456789);
library.returnBook("数据结构", 87654321);
library.displayBooks();
return 0;
}
```
这个简单的C++图书管理系统实现了以下功能:
1. 添加图书:`addBook`方法将新图书添加到图书馆中。
2. 借书:`borrowBook`方法根据书名和ISBN查找图书,如果找到则借出,否则输出提示信息。
3. 还书:`returnBook`方法根据书名和ISBN查找图书,如果找到则还回,否则输出提示信息。
4. 显示所有图书:`displayBooks`方法遍历并输出图书馆中的所有图书。