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

商店销售某一商品,商店每天公布统一的折扣(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 Seller
{
    private:
            static double discount;//折扣
            static double sum;//总销售款
            static int n;//总销售件数
            int number;//销货员号
            int quantity;//销货件数
            double price;//销售单价
    public:
            Seller(int n,double q,double p):number(n),quantity(q),price(p){};//构造函数,在声明对象时对数据成员赋初值
            static double average(Seller* s1,int N);//求平均售价
            static void display(Seller *s2,int N);//输出结果,用来显示商品的总销售款和平均售价
};
double Seller::discount=0.98;//初始化
double Seller::sum=0;//初始化
int Seller::n=0;//初始化
double Seller::average(Seller *s1,int N)
{
    Seller *p;
    for(p=s1;p<s1+N;p++)
    {
        if(p->quantity>10)
        {
            p->price *=p->discount;
        }
        sum+=(p->price)*(p->quantity);
        n+=p->quantity;
    }
    return (sum/n);
}
void Seller::display(Seller *s2,int N)
{
    cout<<"总销售款为"<<sum<<","<<"每件商品的平均售价为"<<average(s2,N)<<endl;
}
int main()
{
    Seller sel[3]=//对象数组
    {
        Seller(101,5,23.5),
        Seller(102,12,24.56),
        Seller(103,100,21.5)
    };
    Seller::average(sel,3);//sel表示一个对象数组,相当于指针,将其作为参数传入average函数
    Seller::display(sel,3);
    return 0;
}

代码运行结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值