使用c++实现教材采购管理系统
时间: 2023-10-07 21:05:03 浏览: 37
以下是使用 C++ 实现教材采购管理系统的代码,基于控制台界面:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
struct Book
{
string name; // 书名
string author; // 作者
string publisher; // 出版社
int price; // 单价
int count; // 数量
};
// 显示菜单
void display_menu()
{
cout << "---------------------------------------------" << endl;
cout << "1. 添加图书" << endl;
cout << "2. 删除图书" << endl;
cout << "3. 修改图书信息" << endl;
cout << "4. 查询图书" << endl;
cout << "5. 统计图书数量和总价值" << endl;
cout << "6. 退出" << endl;
cout << "请选择操作:";
}
// 添加图书
void add_book(vector<Book>& books)
{
Book book;
cout << "请输入书名:";
cin >> book.name;
cout << "请输入作者:";
cin >> book.author;
cout << "请输入出版社:";
cin >> book.publisher;
cout << "请输入单价:";
cin >> book.price;
cout << "请输入数量:";
cin >> book.count;
books.push_back(book); // 添加到图书库中
cout << "添加成功!" << endl;
}
// 删除图书
void remove_book(vector<Book>& books)
{
string name;
cout << "请输入要删除的书名:";
cin >> name;
for (auto it = books.begin(); it != books.end(); it++)
{
if (it->name == name)
{
books.erase(it); // 从图书库中删除
cout << "删除成功!" << endl;
return;
}
}
cout << "未找到该书!" << endl;
}
// 修改图书信息
void modify_book(vector<Book>& books)
{
string name;
cout << "请输入要修改的书名:";
cin >> name;
for (auto& book : books)
{
if (book.name == name)
{
cout << "请输入新的书名(不修改则输入原书名):";
cin >> book.name;
cout << "请输入新的作者(不修改则输入原作者):";
cin >> book.author;
cout << "请输入新的出版社(不修改则输入原出版社):";
cin >> book.publisher;
cout << "请输入新的单价(不修改则输入原单价):";
cin >> book.price;
cout << "请输入新的数量(不修改则输入原数量):";
cin >> book.count;
cout << "修改成功!" << endl;
return;
}
}
cout << "未找到该书!" << endl;
}
// 查询图书
void search_book(const vector<Book>& books)
{
string name;
cout << "请输入要查询的书名(不输入则查询所有图书):";
cin >> name;
for (const auto& book : books)
{
if (name.empty() || book.name == name)
cout << "书名:" << book.name << ",作者:" << book.author
<< ",出版社:" << book.publisher << ",单价:" << book.price
<< ",数量:" << book.count << endl;
}
}
// 统计图书数量和总价值
void statistics_book(const vector<Book>& books)
{
int count = 0;
int total_price = 0;
for (const auto& book : books)
{
count += book.count;
total_price += book.price * book.count;
}
cout << "图书总数量为:" << count << endl;
cout << "图书总价值为:" << total_price << endl;
}
int main()
{
vector<Book> books;
while (true)
{
display_menu();
int choice;
cin >> choice;
switch (choice)
{
case 1:
add_book(books);
break;
case 2:
remove_book(books);
break;
case 3:
modify_book(books);
break;
case 4:
search_book(books);
break;
case 5:
statistics_book(books);
break;
case 6:
cout << "感谢使用教材采购管理系统!" << endl;
return 0;
default:
cout << "输入有误,请重新输入!" << endl;
break;
}
}
}
```
该系统使用了 vector 容器来存储图书信息,支持添加、删除、修改、查询和统计操作,可以通过控制台进行交互式操作。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)