用C语言设计一个简单的图书馆管理系统,使用STL中的vector或list来实现对图书的增删改查操作
时间: 2024-09-27 10:07:48 浏览: 38
图书管理系统-C语言实现(C++ STL使用).zip
在C++中,我们可以利用`std::vector`或`std::list`来设计一个简单的图书馆管理系统。这里以`std::vector`为例,因为它的随机访问性能更好,适合用于查找、插入和删除操作。
首先,我们需要定义一个表示图书的结构体(Book),包含书名(title)、作者(author)和ID(id)。然后创建一个`std::vector<Book>`来存储所有图书。
```cpp
#include <iostream>
#include <string>
#include <vector>
// 图书结构体
struct Book {
int id;
std::string title;
std::string author;
};
class Library {
private:
std::vector<Book> books;
public:
// 添加图书
void add_book(const Book &book) {
books.push_back(book);
}
// 删除图书
bool remove_book(int id_to_remove) {
for (auto it = books.begin(); it != books.end(); ++it) {
if (it->id == id_to_remove) {
books.erase(it);
return true;
}
}
return false; // 如果未找到对应ID的图书,返回false
}
// 修改图书信息
bool update_book(int id, const Book &updated_book) {
for (auto &book : books) {
if (book.id == id) {
book.title = updated_book.title;
book.author = updated_book.author;
return true;
}
}
return false; // 如果未找到对应ID的图书,返回false
}
// 查询图书
const Book* find_book(int id) const {
for (const auto &book : books) {
if (book.id == id)
return &book;
}
return nullptr; // 如果找不到,返回nullptr
}
};
```
在这个例子中,`Library`类包含了四个基本的操作函数:添加图书(`add_book`)、删除图书(`remove_book`)、修改图书(`update_book`)以及查询图书(`find_book`)。你可以根据实际需求扩展这个基础框架。
阅读全文