谭浩强C++课后习题33——面向对象之商品销售

Dianne ·
更新时间:2024-09-21
· 619 次阅读

谭浩强C++课后习题33——面向对象之商品销售

题目描述:商店销售某一商品,每天公布同一的折扣(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; }

运行测试结果:
在这里插入图片描述


作者:ME!



c+ 销售 对象 面向对象 C++

需要 登录 后方可回复, 如果你还没有账号请 注册新账号