当前位置: 首页 > 工具软件 > Discount > 使用案例 >

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

岳佐
2023-12-01

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

销售员号(num)  销售件数(quantity)   销售单价(price)
101				  5					    23.5
102				  12				    24.56
103				 100					21.5

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

#include<iostream>
using namespace std;

class Product
{
public:
	Product(int m, int q, float p) :num(m), quantity(q), price(p)//用参数初始化表对数据成员(num、quantity、price)初始化 
	{

	};

	void total();//声明类成员函数total,求总销售款sum和总销货件数n
	static float average();//声明静态成员函数avereage,求平均售价sum/n
	static void display();//声明静态成员函数display,输出总销售款sum和平均售价average()即sum/n

private:
	int num;//销货员号 
	int quantity;//销货件数 
	float price;//销货单价 
	static float discount;//定义静态数据成员商店统一折扣discount
	static float sum;//定义静态数据成员总销售款sum 
	static int n;//定义静态数据成员总销货件数n 
};

void Product::total()//定义求总销售款sum和总销货件数n的函数 
{
	float rate = 1.0;//定义基础折扣rate为10折,即不打折 
	if (quantity > 10)//若客户购10件以上,即该销售员销售10件以上 
		rate = float(0.98 * rate);//灵活折扣rate为98折 
	sum = sum + quantity * price * rate * (1 - discount);//总销售款sum 
	n = n + quantity;//总销货件数n 
}

float Product::average()//求平均售价sum/n
{
	return (sum / n);
}

void Product::display()//输出总销售款sum和平均售价average()即sum/n 
{
	cout << sum << endl;//输出总销售款sum
	cout << average() << endl;//输出平均售价average()即sum/n 
}

float Product::discount = (float)0.05;//对静态数据成员discount(求商店统一折扣)初始化为0.05,即假设当天的统一折扣为5折,即打1-discount折 
float Product::sum = 0;//对静态数据成员总销售款sum初始化为0 
int Product::n = 0;//对静态数据成员总销货件数n初始化为0 

int main()
{
	Product Prod[3] =//定义Product类对象数组,并给出数据对对象数组初始化 
	{
		Product(101,5,23.5f),Product(102,12,24.56f),Product(103,100,21.5f)
	};
	for (int i = 0; i < 3; i++)//调用三次total函数,统计3个销货员的销货情况 
	{
		Prod[i].total();
	}
	Product::display();//输出结果 
	return 0;
}
 类似资料: