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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/navicheung/article/details/82458455

C++程序设计(第三版) 谭浩强 习题9.9 个人设计

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

n u m q u a n t i t y p r i c e

   101                   5                      23.5
   102                   12                     24.56
   103                   100                    21.5

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

代码块:

#include <iostream>
using namespace std;
class Sale
{
public:
    Sale(int n, int q, double pri): num(n), qua(q), price(pri){};
    static double average(Sale *, int n);
    static void display(Sale *, int n);
private:
    int num;
    int qua;
    double price;
    static double discount;
    static double sum;
    static int count;
};
double Sale::discount=0.98;
double Sale::sum=0;
int Sale::count=0;
double Sale::average(Sale *cc, int n)
{
    Sale *p;
    for (p=cc; p<cc+n; p++){
        if (p->qua>10)
            p->price*=discount;
        sum+=((p->price)*(p->qua));
        count+=p->qua;
    }
    return sum/count;
}
void Sale::display(Sale *cc, int n)
{
    cout<<"Average= "<<Sale::average(cc, n)<<endl;
    cout<<"Sum= "<<Sale::sum<<endl;
}
int main()
{
    Sale s[3]={
        Sale(101, 5, 23.5),
        Sale(102, 12, 24.56),
        Sale(103, 100, 21.5)
    };
    Sale::display(s, 3);
    system("pause");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/navicheung/article/details/82458455