超市管理系统c++
时间: 2023-06-29 10:04:38 浏览: 58
超市管理系统是一个比较复杂的系统,需要综合考虑库存管理、销售管理、员工管理、财务管理等多个方面。下面是一个简单的C++超市管理系统的示例代码,供参考:
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 商品类
class Commodity {
public:
string name; // 商品名称
double price; // 商品单价
int stock; // 商品库存
Commodity(string name, double price, int stock) {
this->name = name;
this->price = price;
this->stock = stock;
}
};
// 超市类
class SuperMarket {
public:
vector<Commodity> commodities; // 商品列表
// 添加商品
void addCommodity(Commodity commodity) {
commodities.push_back(commodity);
}
// 删除商品
void deleteCommodity(int index) {
commodities.erase(commodities.begin() + index);
}
// 修改商品信息
void modifyCommodity(int index, Commodity commodity) {
commodities[index] = commodity;
}
// 查询商品信息
void queryCommodity(int index) {
Commodity commodity = commodities[index];
cout << "商品名称:" << commodity.name << endl;
cout << "商品单价:" << commodity.price << endl;
cout << "商品库存:" << commodity.stock << endl;
}
// 销售商品
void sellCommodity(int index, int num) {
Commodity &commodity = commodities[index];
if (commodity.stock < num) {
cout << "库存不足!" << endl;
} else {
commodity.stock -= num;
cout << "销售成功!" << endl;
}
}
// 统计销售额
double getSales() {
double sales = 0;
for (auto commodity : commodities) {
sales += commodity.price * (commodity.stock - 10); // 假设每个商品的最低库存量为10
}
return sales;
}
};
int main() {
SuperMarket market;
// 初始化商品列表
market.addCommodity(Commodity("苹果", 5.0, 50));
market.addCommodity(Commodity("香蕉", 3.0, 30));
market.addCommodity(Commodity("橙子", 4.0, 40));
while (true) {
cout << "请选择操作:" << endl;
cout << "1.添加商品" << endl;
cout << "2.删除商品" << endl;
cout << "3.修改商品信息" << endl;
cout << "4.查询商品信息" << endl;
cout << "5.销售商品" << endl;
cout << "6.统计销售额" << endl;
cout << "7.退出" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1: {
cout << "请输入商品名称:" << endl;
string name;
cin >> name;
cout << "请输入商品单价:" << endl;
double price;
cin >> price;
cout << "请输入商品库存:" << endl;
int stock;
cin >> stock;
Commodity commodity(name, price, stock);
market.addCommodity(commodity);
cout << "添加成功!" << endl;
break;
}
case 2: {
cout << "请输入要删除的商品编号:" << endl;
int index;
cin >> index;
market.deleteCommodity(index);
cout << "删除成功!" << endl;
break;
}
case 3: {
cout << "请输入要修改的商品编号:" << endl;
int index;
cin >> index;
cout << "请输入新的商品名称:" << endl;
string name;
cin >> name;
cout << "请输入新的商品单价:" << endl;
double price;
cin >> price;
cout << "请输入新的商品库存:" << endl;
int stock;
cin >> stock;
Commodity commodity(name, price, stock);
market.modifyCommodity(index, commodity);
cout << "修改成功!" << endl;
break;
}
case 4: {
cout << "请输入要查询的商品编号:" << endl;
int index;
cin >> index;
market.queryCommodity(index);
break;
}
case 5: {
cout << "请输入要销售的商品编号:" << endl;
int index;
cin >> index;
cout << "请输入销售数量:" << endl;
int num;
cin >> num;
market.sellCommodity(index, num);
break;
}
case 6: {
double sales = market.getSales();
cout << "销售额为:" << sales << endl;
break;
}
case 7: {
return 0;
}
default: {
cout << "无效的选择!" << endl;
break;
}
}
}
return 0;
}
```
以上代码只是一个简单的示例,实际开发中还需要考虑更多的功能和异常情况的处理。