写一个C++图书管理系统,管理员可以添加,删除,修改,显示全部图书
时间: 2023-06-25 21:08:13 浏览: 44
好的,以下是一个简单的C++图书管理系统的代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
struct Book { //定义图书结构体
string title;
string author;
string publisher;
int year;
int price;
};
vector<Book> books; //定义图书库
//添加图书
void addBook() {
Book book;
cout << "请输入图书名称:";
cin >> book.title;
cout << "请输入图书作者:";
cin >> book.author;
cout << "请输入图书出版社:";
cin >> book.publisher;
cout << "请输入图书出版年份:";
cin >> book.year;
cout << "请输入图书价格:";
cin >> book.price;
books.push_back(book); //添加到图书库
cout << "添加成功!" << endl;
}
//删除图书
void deleteBook() {
if (books.empty()) { //判断图书库是否为空
cout << "图书库为空,无法删除!" << endl;
return;
}
string title;
cout << "请输入要删除的图书名称:";
cin >> title;
bool flag = false; //标记是否删除
for (auto it = books.begin(); it != books.end(); it++) {
if (it->title == title) {
books.erase(it); //从图书库中删除
flag = true;
break;
}
}
if (flag) {
cout << "删除成功!" << endl;
} else {
cout << "未找到该图书,删除失败!" << endl;
}
}
//修改图书
void modifyBook() {
if (books.empty()) { //判断图书库是否为空
cout << "图书库为空,无法修改!" << endl;
return;
}
string title;
cout << "请输入要修改的图书名称:";
cin >> title;
bool flag = false; //标记是否找到
for (auto it = books.begin(); it != books.end(); it++) {
if (it->title == title) {
cout << "请输入新的图书名称:";
cin >> it->title;
cout << "请输入新的图书作者:";
cin >> it->author;
cout << "请输入新的图书出版社:";
cin >> it->publisher;
cout << "请输入新的图书出版年份:";
cin >> it->year;
cout << "请输入新的图书价格:";
cin >> it->price;
flag = true;
break;
}
}
if (flag) {
cout << "修改成功!" << endl;
} else {
cout << "未找到该图书,修改失败!" << endl;
}
}
//显示全部图书
void showBooks() {
if (books.empty()) { //判断图书库是否为空
cout << "图书库为空!" << endl;
return;
}
cout << "图书名称\t图书作者\t图书出版社\t图书出版年份\t图书价格" << endl;
for (auto book : books) {
cout << book.title << "\t" << book.author << "\t" << book.publisher << "\t" << book.year << "\t" << book.price << endl;
}
}
int main() {
cout << "欢迎使用图书管理系统!" << endl;
while (true) {
cout << "请选择要执行的操作:" << endl;
cout << "1.添加图书" << endl;
cout << "2.删除图书" << endl;
cout << "3.修改图书" << endl;
cout << "4.显示全部图书" << endl;
cout << "5.退出" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1:
addBook();
break;
case 2:
deleteBook();
break;
case 3:
modifyBook();
break;
case 4:
showBooks();
break;
case 5:
cout << "谢谢使用!" << endl;
return 0;
default:
cout << "输入的选项无效,请重新输入!" << endl;
}
}
return 0;
}
```
该程序使用了结构体来表示图书,使用vector来作为图书库,可以添加、删除、修改、显示全部图书。可以根据需要进行修改和扩展。