商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购10件以上者,还可以享受9.8折优惠。现已知当天3名销货员的销售情况为:
销货员号(num)销货件数(quantity)销货单价(price)
101 5 23.5
102 12 24.56
103 100 21.5
请编程序,计算出当日此商品的总销售款sum,以及每件商品的平均售价。要求用静态数据成员和静态成员函数。
、
#include <iostream>
using namespace std;
class saleman{
public:
saleman(int n,int q,double p):num(n),quantity(q),price(p){};
static double average(saleman *s,int n0);
static void display(saleman *s,int n0);
private:
int num;
int quantity;
double price;
static double discount;
static double sum;
static int n ;
};
double saleman::discount=0.9;
double saleman::sum=0;
int saleman::n=0;
double saleman::average(saleman *s,int n0){
double rate=1;
if(s->quantity>10) rate=rate*0.98;
saleman *p;
p=s;
for(p=s;p<s+n0;p++){
sum=sum+(p->price)*(p->quantity)*discount*rate;
n=n+p->quantity;
}
return sum/n;
}
void saleman::display(saleman *s,int n0){
cout<<"总件数为:"<<saleman::n<<endl;
cout<<"销售总价为:"<<saleman::sum<<endl;
cout<<"平均价格为:"<<saleman::average(s,n0)<<endl;
}
int main(){
saleman sale[3]={saleman(101,5,23.5),saleman(102,12,24.56),saleman(103,100,21.5)};
saleman *s=sale;
saleman::average(s,3);
saleman::display(s,3);
return 0;
}