c++语言图书馆管理系统
时间: 2023-10-30 21:06:15 浏览: 139
好的,下面是一个基本的C++语言图书馆管理系统的代码示例:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 定义图书类
class Book {
public:
string name; // 书名
string author; // 作者
string press; // 出版社
string isbn; // ISBN编号
double price; // 价格
Book(string n, string a, string p, string i, double pr) {
name = n;
author = a;
press = p;
isbn = i;
price = pr;
}
};
// 定义图书馆类
class Library {
public:
vector<Book> books; // 存储图书的容器
// 添加图书
void addBook(string n, string a, string p, string i, double pr) {
Book book(n, a, p, i, pr);
books.push_back(book);
}
// 根据书名查找图书
Book* searchByName(string n) {
for (int i = 0; i < books.size(); i++) {
if (books[i].name == n) {
return &books[i];
}
}
return NULL;
}
// 根据作者查找图书
vector<Book*> searchByAuthor(string a) {
vector<Book*> result;
for (int i = 0; i < books.size(); i++) {
if (books[i].author == a) {
result.push_back(&books[i]);
}
}
return result;
}
// 根据ISBN编号删除图书
bool deleteByISBN(string i) {
for (int i = 0; i < books.size(); i++) {
if (books[i].isbn == i) {
books.erase(books.begin() + i);
return true;
}
}
return false;
}
// 显示所有图书信息
void showAllBooks() {
for (int i = 0; i < books.size(); i++) {
cout << "书名:" << books[i].name << endl;
cout << "作者:" << books[i].author << endl;
cout << "出版社:" << books[i].press << endl;
cout << "ISBN编号:" << books[i].isbn << endl;
cout << "价格:" << books[i].price << endl;
cout << endl;
}
}
};
int main() {
Library library;
// 添加图书
library.addBook("C++ Primer", "Lippman", "O'Reilly", "978-7-111-49696-1", 98.00);
library.addBook("Effective C++", "Scott Myers", "Addison-Wesley", "978-7-115-17904-4", 78.00);
library.addBook("STL源码剖析", "侯捷", "电子工业出版社", "978-7-115-17904-4", 89.00);
// 显示所有图书信息
library.showAllBooks();
// 根据书名查找图书
Book* book1 = library.searchByName("C++ Primer");
if (book1 != NULL) {
cout << "找到图书:" << book1->name << endl;
} else {
cout << "没有找到图书" << endl;
}
// 根据作者查找图书
vector<Book*> books2 = library.searchByAuthor("Lippman");
if (books2.size() > 0) {
cout << "找到以下图书:" << endl;
for (int i = 0; i < books2.size(); i++) {
cout << books2[i]->name << endl;
}
} else {
cout << "没有找到图书" << endl;
}
// 根据ISBN编号删除图书
bool result = library.deleteByISBN("978-7-115-17904-4");
if (result) {
cout << "删除成功" << endl;
} else {
cout << "删除失败" << endl;
}
// 显示所有图书信息
library.showAllBooks();
return 0;
}
这个图书馆管理系统可以添加图书、根据书名查找图书、根据作者查找图书、根据ISBN编号删除图书和显示所有图书信息。你可以根据这个示例代码进行修改和扩展,以实现更多图书馆管理的功能。
相关推荐

















