c++图书管理系统控制台源码
时间: 2024-12-04 11:25:32 浏览: 6
当然,我可以帮你介绍一个简单的C++图书管理系统控制台源码的基本结构。这个例子将包含基本的功能,如添加书目、搜索书籍、借阅和归还等。我们将使用C++类和文件I/O进行操作。
首先,我们定义一个`Book`类,存储书籍的相关信息:
```cpp
#include <iostream>
#include <fstream>
class Book {
public:
std::string title;
std::string author;
bool isBorrowed;
// 构造函数
Book(const std::string& t, const std::string& a) : title(t), author(a), isBorrowed(false) {}
void borrow() { isBorrowed = true; }
void returnBook() { isBorrowed = false; }
};
```
接下来,我们创建一个`Library`类,用于管理书目并处理交互:
```cpp
class Library {
private:
std::vector<Book> books;
std::ifstream bookList("books.txt"); // 假设文件存储了所有书籍信息
public:
void addBook(Book newBook) {
books.push_back(newBook);
saveBooksToFile();
}
void searchBook(const std::string& query) {
for (const auto& book : books) {
if (book.title.find(query) != std::string::npos || book.author.find(query) != std::string::npos) {
std::cout << "Title: " << book.title << ", Author: " << book.author << "\n";
}
}
}
// 其他方法...
private:
void saveBooksToFile() {
std::ofstream file("books.txt");
for (const auto& book : books) {
file << book.title << "," << book.author << "," << (book.isBorrowed ? 1 : 0) << "\n";
}
file.close();
}
};
int main() {
Library lib;
while (true) {
std::cout << "1. Add a book\n";
std::cout << "2. Search for a book\n";
// 添加更多选项如借阅/归还等
int choice;
std::cin >> choice;
switch (choice) {
case 1:
std::string title, author;
std::cin >> title >> author;
lib.addBook(Book(title, author));
break;
case 2:
std::string searchQuery;
std::cin >> searchQuery;
lib.searchBook(searchQuery);
break;
// 更多case...
}
}
return 0;
}
```
这个程序读取一个名为`books.txt`的文件(假设初始时为空),并在运行时根据用户的输入增加或搜索书籍。文件中的每一行保存了一本书的标题、作者和是否被借出的状态。
阅读全文