用静态数据成员和静态成员函数编程实现商品的总销售款及每件商品的平均售价-oop 时间限制: 1 Sec 内存限制: 128 MB 提交: 59 解决: 296 [提交][状态][讨论版][命题人:wxh197] 题目描述 商店销售某一商品,商店每天公布统一的折扣(discount),同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购买10件以上者,还可以享受9.8折优惠。现已知当天销货员的销售情况为: 销货员号(num)销货件数(quantity) 销货单价(price) 101 5 21.5 102 12 24.56 103 100 21.5 请编程计算出当日此商品的总销售款sum,以及每件商品的平均售价。要求用静态数据成员和静态成员函数。 输入 输入当天的销售情况。 输出 输出销售总额和平均价。 样例输入 3 101 5 21.5 102 12 24.56 103 100 21.5 样例输出 2503.33 21.40
时间: 2023-06-26 21:03:43 浏览: 137
C++程序设计~统计商品销售数据
5星 · 资源好评率100%
以下是使用静态数据成员和静态成员函数实现的商品销售统计代码示例:
```cpp
#include <iostream>
using namespace std;
class Goods {
private:
static int totalNum; // 商品总销售数量
static double totalPrice; // 商品总销售额
public:
static void updateSales(int quantity, double price, bool isDiscounted) {
// 更新总销售量和总销售额
totalNum += quantity;
if (isDiscounted) { // 折扣价
totalPrice += quantity * price * 0.98;
} else {
totalPrice += quantity * price;
}
}
static double calcAveragePrice() {
// 计算平均售价
return totalPrice / totalNum;
}
static double getTotalSales() {
// 获取总销售额
return totalPrice;
}
};
int Goods::totalNum = 0;
double Goods::totalPrice = 0;
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
int num, quantity;
double price;
cin >> num >> quantity >> price;
bool isDiscounted = quantity >= 10; // 是否享受折扣
Goods::updateSales(quantity, price, isDiscounted);
}
printf("%.2f %.2f", Goods::getTotalSales(), Goods::calcAveragePrice());
return 0;
}
```
在上述代码中,`Goods` 类中的 `totalNum` 和 `totalPrice` 都是静态数据成员,用于记录商品的总销售数量和总销售额。静态成员函数 `updateSales` 用于更新总销售量和总销售额,而静态成员函数 `calcAveragePrice` 则用于计算平均售价,静态成员函数 `getTotalSales` 则用于获取总销售额。在 `main` 函数中,我们可以通过输入每个销售员的销售情况,调用 `updateSales` 函数来更新数据,并最终通过 `calcAveragePrice` 和 `getTotalSales` 函数来输出结果。
阅读全文