C++ 静态成员和静态函数 #销售商品习题#

本文介绍了一种使用静态成员和静态函数来解决商品销售问题的方法,包括如何计算总销售款和平均售价。通过实例展示了如何在商品类中应用静态数据成员和静态成员函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ps:在做谭浩强的一个用静态成员和静态函数处理一个商品销售某种商品的习题。做完后觉得自己做得不好,但是上网搜了一下,觉得网上的答案也不合我意。于是重新做了一下,并决定把它发上来。共勉。

题目:

商店销售某一商品,每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,一次购10件以上者,还可以享受9.8折优惠。现已知当天m个销货员销售情况为

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

               101                                              5                            23.5

               102                                            12                            24.56

               103                                           100                           21.5 
 
请编写程序,计算出当日此商品的总销售款sum以及每件商品的平均售价。要求用静态数据成员和静态成员函数。
(提示: 将折扣discount,总销售款sum和商品销售总件数n声明为静态数据成员,再定义静态成员函数average(求平均售价)和display(输出结果)。

class Product{
public:
	void set_value();  //设置商品的price和单次销售数量 num
	void total();    //计算总的销售额sum 和总的销售数量total_num
	static void ave_count();   //计算平均商品价格
	static void display(); // 显示sum,total_num和 average
private:
	double price;
	int num;   //注意这里,我觉得在这个某种商品的类里面有一个表示单次销售商品量的属性很奇怪,大家觉得呢?
	static double discount;
	static int total_num;
	static double sum;
	static double average;
};


double Product::discount=0.98;
int Product::total_num=0;
double Product::sum=0;
double Product::average=0;


void Product::set_value(){
	cin>>num>>price;
}
void Product::total(){
	total_num+=num;  
	if(num>10)
		sum+=num*price*discount;
	else
		sum+=num*price;
}
void  Product::ave_count(){
	average=sum/total_num;
}
void Product::display(){
	cout<<"num="<<total_num<<endl
		<<"sum="<<sum<<endl
		<<"average="<<average<<endl;
}
int main(){
	const int t=3;
	Product p[t];
	for(int i=0;i<t;i++){
		p[i].set_value();
        p[i].total();
	}
	Product::ave_count();
	Product::display();
	return 0;	
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值