题目描述:商店销售某一商品,每天公布同一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,一次购10件以上者,还可以享受9.8折优惠。现已知当天3个销货员的销售情况为
销货员号(num) 销货件数(quantity) 销货单价(price)
101 5 23.5
102 12 24.56
103 100 21.5
请编写程序,计算出当日此商品的总销售款sum以及每件商品的平均售价。要求用静态数据成员和静态成员函数。
解题思路:将售出商品总数,同一折扣和销售总额设为静态成员;用total函数对静态成员进行操作。令一个静态成员函数average用于计算总平均售价,令一个静态成员函数display输出总销售款和总平均售价。
#include
using namespace std;
class product {
private:
int num;
int quantity;
double price;
static double sum;
static int n;
static double discount;
public:
product(int n, int q, double p) :num(n), quantity(q), price(p) {}
void total();
static double average();
static void dislay();
};
double product::sum = 0;
int product::n = 0;
double product::discount = 0.95;
void product::total() {
n = n + quantity;
double sale = quantity * price * discount;
if (quantity > 10)sale = sale * 0.98;
sum = sum + sale;
}
double product::average() {
return sum / n;
}
void product::dislay() {
cout << "总销售款:" << sum << endl;
cout << "平均售价:" << average() << endl;
}
int main() {
product pro[3] = {
product(101,5,23.5),product(102,12,24.56),product(103,100,21.5)
};
for (int i = 0;i < 3;i++) {
pro[i].total();
}
product::dislay();
return 0;
}
运行测试结果: