c++实现控制台图书管理系统
时间: 2023-08-10 07:09:00 浏览: 64
好的,我可以为您提供一个简单的控制台图书管理系统的C++实现。首先,我们需要定义一个Book类来存储图书信息,包括书名、作者、出版社和价格等属性。然后,我们可以使用一个vector来存储图书对象,并在控制台上实现添加、删除和查找图书的功能。
下面是示例代码:
```cpp
#include <iostream>
#include <vector>
#include <string>
using namespace std;
class Book {
public:
string title, author, publisher;
double price;
};
void addBook(vector<Book>& books) {
Book book;
cout << "Enter the book title: ";
getline(cin, book.title);
cout << "Enter the book author: ";
getline(cin, book.author);
cout << "Enter the book publisher: ";
getline(cin, book.publisher);
cout << "Enter the book price: ";
cin >> book.price;
cin.ignore();
books.push_back(book);
cout << "Book added successfully!\n";
}
void removeBook(vector<Book>& books) {
string title;
cout << "Enter the book title to remove: ";
getline(cin, title);
for (int i = 0; i < books.size(); i++) {
if (books[i].title == title) {
books.erase(books.begin() + i);
cout << "Book removed successfully!\n";
return;
}
}
cout << "Book not found!\n";
}
void findBook(vector<Book>& books) {
string title;
cout << "Enter the book title to find: ";
getline(cin, title);
for (int i = 0; i < books.size(); i++) {
if (books[i].title == title) {
cout << "Book found:\n";
cout << "Title: " << books[i].title << endl;
cout << "Author: " << books[i].author << endl;
cout << "Publisher: " << books[i].publisher << endl;
cout << "Price: " << books[i].price << endl;
return;
}
}
cout << "Book not found!\n";
}
void showMenu() {
cout << "1. Add book\n";
cout << "2. Remove book\n";
cout << "3. Find book\n";
cout << "4. Exit\n";
}
int main() {
vector<Book> books;
int choice = 0;
while (choice != 4) {
showMenu();
cout << "Enter your choice: ";
cin >> choice;
cin.ignore();
switch (choice) {
case 1:
addBook(books);
break;
case 2:
removeBook(books);
break;
case 3:
findBook(books);
break;
case 4:
cout << "Goodbye!\n";
break;
default:
cout << "Invalid choice!\n";
break;
}
}
return 0;
}
```
在这个示例中,我们使用了vector来存储Book对象,并实现了添加、删除和查找图书的功能。在主函数中,我们使用一个循环来显示菜单,并根据用户输入的选项执行相应的操作。
当用户选择添加图书时,我们使用getline函数来读取用户输入的书名、作者、出版社和价格,并将Book对象添加到vector中。当用户选择删除图书时,我们使用getline函数读取用户输入的书名,并遍历vector来查找要删除的图书。如果找到了匹配的图书,则使用vector的erase函数来删除该图书。当用户选择查找图书时,我们使用getline函数读取用户输入的书名,并遍历vector来查找匹配的图书。
希望这个示例对您有所帮助!