用c++设计一个 系统管理功能的操作角色为超市管理员,具体功能如下:(1)能按月统计所有商品的销售情况和盈利情况,能查询指定商品类型、指定商品品牌的销售情况。能根据统计的结果进行简单的分析,比如根据同类商品不同的厂家的销售量,分析用户对哪个厂家的商品更喜好,进而决定以后进货时决定不同厂家的商品的进货量。能根据以上统计信息制定进货订单,能修改和审核仓库管理员发过来的进货订单,并将审核结果发送给仓库管理员以完成订货事项。(2)能按月查询销售员的销售情况。能设置销售员的底薪,能根据销售员上月销售情况设置提成比例,生成销售员的薪资。(3)能设置商品销售折扣,能设置库存量的阈值,能根据商品库存信息和商品生产日期、保质期自动提醒管理员设置商品折扣。的简单代码
时间: 2024-02-13 10:02:54 浏览: 98
由于题目中要求是一个系统管理功能的操作角色为超市管理员,因此需要设计一个包含多个功能的软件系统。为了简单起见,以下是一个基本的系统结构设计:
```c++
#include <iostream>
#include <vector>
#include <string>
#include <ctime>
using namespace std;
// 商品类
class Commodity {
public:
string id; // 商品编号
string name; // 商品名称
string type; // 商品类型
string brand; // 商品品牌
double price; // 商品价格
int quantity; // 商品数量
string productionDate; // 商品生产日期
int shelfLife; // 商品保质期
Commodity(string i, string n, string t, string b, double p, int q, string d, int s) {
id = i;
name = n;
type = t;
brand = b;
price = p;
quantity = q;
productionDate = d;
shelfLife = s;
}
void display() {
cout << "ID: " << id << endl;
cout << "Name: " << name << endl;
cout << "Type: " << type << endl;
cout << "Brand: " << brand << endl;
cout << "Price: " << price << endl;
cout << "Quantity: " << quantity << endl;
cout << "Production Date: " << productionDate << endl;
cout << "Shelf Life: " << shelfLife << endl;
cout << endl;
}
};
// 商品管理类
class CommodityManager {
private:
vector<Commodity> commodities; // 商品列表
public:
// 添加商品
void addCommodity(string id, string name, string type, string brand, double price, int quantity, string productionDate, int shelfLife) {
Commodity commodity(id, name, type, brand, price, quantity, productionDate, shelfLife);
commodities.push_back(commodity);
}
// 按类型和品牌查询商品
vector<Commodity> queryCommodities(string type, string brand) {
vector<Commodity> result;
for (int i = 0; i < commodities.size(); i++) {
if (commodities[i].type == type && commodities[i].brand == brand) {
result.push_back(commodities[i]);
}
}
return result;
}
// 统计所有商品的销售情况和盈利情况
void statistics() {
// TODO
}
// 制定进货订单
void createPurchaseOrder() {
// TODO
}
};
// 销售员类
class Salesman {
public:
string id; // 销售员编号
string name; // 销售员姓名
double baseSalary; // 销售员底薪
double commissionRate; // 销售员提成比例
int salesVolume; // 上月销售量
Salesman(string i, string n, double b) {
id = i;
name = n;
baseSalary = b;
commissionRate = 0;
salesVolume = 0;
}
// 设置提成比例
void setCommissionRate(double rate) {
commissionRate = rate;
}
// 设置上月销售量
void setSalesVolume(int volume) {
salesVolume = volume;
}
// 计算薪资
double calculateSalary() {
return baseSalary + salesVolume * commissionRate;
}
void display() {
cout << "ID: " << id << endl;
cout << "Name: " << name << endl;
cout << "Base Salary: " << baseSalary << endl;
cout << "Commission Rate: " << commissionRate << endl;
cout << "Sales Volume: " << salesVolume << endl;
cout << "Salary: " << calculateSalary() << endl;
cout << endl;
}
};
// 销售员管理类
class SalesmanManager {
private:
vector<Salesman> salesmen; // 销售员列表
public:
// 添加销售员
void addSalesman(string id, string name, double baseSalary) {
Salesman salesman(id, name, baseSalary);
salesmen.push_back(salesman);
}
// 按月查询销售员销售情况
void querySalesVolume(int year, int month) {
// TODO
}
// 设置销售员提成比例
void setCommissionRate(string id, double rate) {
for (int i = 0; i < salesmen.size(); i++) {
if (salesmen[i].id == id) {
salesmen[i].setCommissionRate(rate);
break;
}
}
}
// 设置销售员上月销售量
void setSalesVolume(string id, int volume) {
for (int i = 0; i < salesmen.size(); i++) {
if (salesmen[i].id == id) {
salesmen[i].setSalesVolume(volume);
break;
}
}
}
};
// 超市管理员类
class SupermarketManager {
private:
CommodityManager commodityManager;
SalesmanManager salesmanManager;
public:
// 添加商品
void addCommodity(string id, string name, string type, string brand, double price, int quantity, string productionDate, int shelfLife) {
commodityManager.addCommodity(id, name, type, brand, price, quantity, productionDate, shelfLife);
}
// 按类型和品牌查询商品
vector<Commodity> queryCommodities(string type, string brand) {
return commodityManager.queryCommodities(type, brand);
}
// 统计所有商品的销售情况和盈利情况
void statistics() {
commodityManager.statistics();
}
// 制定进货订单
void createPurchaseOrder() {
commodityManager.createPurchaseOrder();
}
// 添加销售员
void addSalesman(string id, string name, double baseSalary) {
salesmanManager.addSalesman(id, name, baseSalary);
}
// 按月查询销售员销售情况
void querySalesVolume(int year, int month) {
salesmanManager.querySalesVolume(year, month);
}
// 设置销售员提成比例
void setCommissionRate(string id, double rate) {
salesmanManager.setCommissionRate(id, rate);
}
// 设置销售员上月销售量
void setSalesVolume(string id, int volume) {
salesmanManager.setSalesVolume(id, volume);
}
};
int main() {
SupermarketManager manager;
// 添加商品
manager.addCommodity("001", "Apple", "Fruit", "Red", 3.0, 100, "2021-09-01", 7);
manager.addCommodity("002", "Pear", "Fruit", "Green", 2.5, 200, "2021-09-02", 5);
manager.addCommodity("003", "Banana", "Fruit", "Yellow", 2.0, 300, "2021-09-03", 4);
// 按类型和品牌查询商品
vector<Commodity> commodities = manager.queryCommodities("Fruit", "Red");
for (int i = 0; i < commodities.size(); i++) {
commodities[i].display();
}
// 添加销售员
manager.addSalesman("001", "Tom", 1000);
manager.addSalesman("002", "Jerry", 1200);
// 设置销售员提成比例和上月销售量
manager.setCommissionRate("001", 0.05);
manager.setCommissionRate("002", 0.06);
manager.setSalesVolume("001", 100);
manager.setSalesVolume("002", 200);
// 按月查询销售员销售情况
manager.querySalesVolume(2021, 9);
return 0;
}
```
以上代码只是一个简单的示例,需要根据实际情况进行完善和优化。
阅读全文