您的位置:首页 > 娱乐 > 明星 > 面向对象的程序设计:对象数组,对象指针书后习题——第九章(P295)第九题

面向对象的程序设计:对象数组,对象指针书后习题——第九章(P295)第九题

2025/1/15 23:33:17 来源:https://blog.csdn.net/weixin_45080800/article/details/139768301  浏览:    关键词:面向对象的程序设计:对象数组,对象指针书后习题——第九章(P295)第九题

原题见谭浩强C++课本第九章(P295)第九题

题目:商店销售某一商品,每天公布统一的折扣。同时允许销售人员在销售是灵活掌握售价,在此基础上,一次购时间以上者,享受98折优惠,现已知当天3个销售员销售情况为:

销售员号(num)销货件数(quantity)销货单价(price)
1015

23.5

1021224.56
10310021.5

请编写程序,计算当日此产品的总销售款sum以及每件商品的平均单价,要求用静态成员和静态成员函数。

#include<iostream>
using namespace std;
class Sale {
private:int num;//工号int quantity;//每个人销售的件数double price;//销售单价static double sum;//总销售款static double discount;static int n;//总销售件数
public:Sale(int n, int q, double p) {num = n;quantity = q;price = p;}static double average();friend void inputdiscount();static void print(Sale s[]);void cal() {if (quantity <= 10) {sum += quantity * discount * price;}else {sum += quantity * discount * price * 0.98;}n += quantity;}};
double Sale::sum = 0;
int Sale::n = 0;
double Sale::discount = 1;
void inputdiscount() {cin >> Sale::discount;
}double Sale::average() {return sum / n;
}
void Sale::print(Sale s[]) {for (int i = 0; i < 3; i++) {cout << "number: " << s[i].num << " quantity: " << s[i].quantity << " price: " << s[i].price << endl;}cout << "sum: " << sum << " sum of quantity: " << n << " average: " << average() << endl;
}
int main() {Sale s[3]{Sale(101,5,23.5),Sale(102,12,23.56),Sale(103,100,21.5),};inputdiscount();for (int i = 0; i < 3; i++)s[i].cal();s[0].print(s);
}

输出结果:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com