图书管理系统是一个简单的C++程序,它使用链表结构来存储和管理图书信息。这个系统包括以下几个功能:
1. 添加图书:用户可以输入图书的书名、作者和ISBN等信息,然后添加到图书列表中。
2. 删除图书:用户可以选择要删除的图书,然后从列表中删除。
3. 查找图书:用户可以通过书名或ISBN搜索图书,如果找到则显示图书信息,否则提示未找到。
4. 修改图书:用户可以修改已存在的图书信息,如更新书名、作者或ISBN等。
5. 显示所有图书:显示系统中所有的图书信息。
下面是实现这个系统的C++代码:
```cpp
#include
#include
#include
using namespace std;
struct Book {
string title;
string author;
string isbn;
};
class Library {
private:
unordered_map
public:
void addBook(const Book& book) {
books[book.title] = book;
}
void deleteBook(const string& title) {
books.erase(title);
}
void findBook(const string& title) {
if (books.find(title) != books.end()) {
cout << "Title: " << books[title].title << "n"
<< "Author: " << books[title].author << "n"
<< "ISBN: " << books[title].isbn << endl;
} else {
cout << "Book not found." << endl;
}
}
void updateBook(const string& title, const Book& newBook) {
if (books.find(title) != books.end()) {
books[title] = newBook;
} else {
cout << "Book not found." << endl;
}
}
void displayAll() {
for (const auto& pair : books) {
cout << "Title: " << pair.second.title << "n"
<< "Author: " << pair.second.author << "n"
<< "ISBN: " << pair.second.isbn << endl;
}
}
};
int main() {
Library library;
Book book1 = {"The Great Gatsby", "F. Scott Fitzgerald", "9780743276490"};
library.addBook(book1);
library.displayAll();
library.updateBook("The Great Gatsby", book1);
library.displayAll();
library.deleteBook("The Great Gatsby");
library.displayAll();
library.findBook("The Great Gatsby");
library.displayAll();
return 0;
}
```
这个程序首先定义了一个结构体`Book`来存储图书信息,然后定义了一个类`Library`来管理图书。`Library`类中包含了一个哈希表`books`来存储图书信息,以及一些成员函数来实现添加、删除、查找、修改和显示所有图书的功能。在`main`函数中,我们创建了一个`Library`对象,并调用其成员函数来演示这些功能。