商店销售某一商品,商店每天公布统一折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购买10件以上者,还可以享受98折优待。现已知道当天3个售货员销售情况为: 售货员号(num) 销货件数(quzntity) 销货单价(price) 101 5 23.5 102 12 24.56 103 100 21.5 请编写程序,计算出当日次商品的总销售款sum,以及每件商品的平均售价。要求使用静态数据成员和静态成员函数。 提示:将折扣diacount,总销售款sum和商品销售总件数n,声明为静态数据成员,再定义静态成员函数average(求平均售价)和display(输出结果)
时间: 2023-12-15 16:06:49 浏览: 97
下面是一个可能的解答:
```cpp
#include <iostream>
using namespace std;
class Sales {
private:
static double discount;
static double sum;
static int n;
public:
int num;
int quantity;
double price;
static double average() {
return sum / n;
}
static void display() {
cout << "总销售款:" << sum << endl;
cout << "平均售价:" << average() << endl;
}
Sales(int _num, int _quantity, double _price) {
num = _num;
quantity = _quantity;
price = _price;
n += quantity;
if (quantity >= 10) {
sum += quantity * price * discount * 0.98;
} else {
sum += quantity * price * discount;
}
}
};
double Sales::discount = 1;
double Sales::sum = 0;
int Sales::n = 0;
int main() {
Sales s1(101, 5, 23.5);
Sales s2(102, 12, 24.56);
Sales s3(103, 100, 21.5);
Sales::display();
return 0;
}
```
解析:
- 首先定义了一个 `Sales` 类,并且将折扣 `discount`、总销售款 `sum` 和商品销售总件数 `n` 声明为静态数据成员,方便在多个对象之间共享。
- 然后在构造函数中,根据销售件数和单价计算出销售额,并且更新总销售款和商品销售总件数。
- 最后定义了一个计算平均售价的静态成员函数 `average` 和一个输出结果的静态成员函数 `display`,并在 `main` 函数中创建了三个 `Sales` 对象,并且调用了 `display` 函数来输出结果。
需要注意的是,在计算销售额时,如果销售件数大于等于 10,则需要额外享受 98 折的优惠。
阅读全文