用c++实现图书管理系统
时间: 2023-08-24 21:13:24 浏览: 100
好的,下面是一个简单的图书管理系统的实现代码,仅供参考:
```cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 声明一个 Book 类,用于存储图书信息
class Book {
public:
Book(string _name, string _author, string _publisher, int _year) :
name(_name), author(_author), publisher(_publisher), year(_year) {}
string getName() { return name; }
string getAuthor() { return author; }
string getPublisher() { return publisher; }
int getYear() { return year; }
private:
string name; // 书名
string author; // 作者
string publisher; // 出版社
int year; // 出版年份
};
// 声明一个 Library 类,用于管理图书馆的图书
class Library {
public:
// 添加一本图书
void addBook(Book book) {
books.push_back(book);
}
// 删除一本图书
void deleteBook(string name) {
for (auto it = books.begin(); it != books.end();) {
if (it->getName() == name) {
it = books.erase(it);
} else {
++it;
}
}
}
// 显示全部图书信息
void showAllBooks() {
for (auto book : books) {
cout << "书名:" << book.getName()
<< " 作者:" << book.getAuthor()
<< " 出版社:" << book.getPublisher()
<< " 出版年份:" << book.getYear() << endl;
}
}
// 按照书名搜索图书
void searchBookByName(string name) {
for (auto book : books) {
if (book.getName() == name) {
cout << "书名:" << book.getName()
<< " 作者:" << book.getAuthor()
<< " 出版社:" << book.getPublisher()
<< " 出版年份:" << book.getYear() << endl;
return;
}
}
cout << "没有找到该书" << endl;
}
private:
vector<Book> books; // 存储图书信息的向量
};
int main() {
Library library;
// 添加几本图书
library.addBook(Book("C++ Primer", "Lippman", "O'Reilly", 2013));
library.addBook(Book("The C Programming Language", "K&R", "Prentice Hall", 1988));
library.addBook(Book("The Art of Computer Programming", "Knuth", "Addison-Wesley", 1968));
// 显示所有图书信息
library.showAllBooks();
// 按照书名搜索图书
library.searchBookByName("C++ Primer");
// 删除一本图书
library.deleteBook("The Art of Computer Programming");
// 再次显示所有图书信息
library.showAllBooks();
return 0;
}
```
这个系统使用了两个类,一个是 Book 类,用于存储图书信息,另一个是 Library 类,用于管理图书馆的图书。在 main 函数中,我们添加了几本图书,然后显示了所有图书信息,接着按照书名搜索了一本图书,最后删除了一本图书,并再次显示了所有图书信息。
阅读全文