- 某公司销售某一商品,允许销售人员在销售时灵活掌握售价(price),现已知当天3个销售人员的销售情况如下:
销货员号(num) 销货件数(quantity) 销货单价(price)
101 5 23.5
102 12 22.5
103 100 21.5
(1)定义销货员类CSaler,包含成员函数sale(int x),每次调用该函数,则把销货件数加x;
(2)编写程序,计算当日此商品的总销售款(sum),以及每件商品的平均售价,要求用静态数据成员和静态成员函数;
(3)提示:静态成员是为了解决数据共享问题,将总销售款(sum)和售出商品总件数(n)声明为静态数据成员,再定义静态成员函数average(求平均售价);
(4)编写函数main(),测试并截图运行结果。
class CSaler{
int num; //销货员号
int quantity; //销货件数
double price; //销货单价
static double sum; //总销售款
static int n; //售出商品总件数
public:
void sale(int x); //售出商品x件
static void average(); //求平均售价
…… //其他成员函数、构造函数……
};
#include<bits/stdc++.h>
using namespace std;
class CSaler{
int num; //销货员号
int quantity; //销货件数
double price; //销货单价
static double sum; //总销售款
static double ave;//平均售价
static int n; //售出商品总件数
public:
void sale(int x); //售出商品x件 每次调用该函数,则把销货件数加x
static void average(); //求平均售价
void total();
};
void CSaler::sale(int x){
CSaler(){
quantity+=x;
}
~CSaler(){
quantity-=x;
}
}
double CSaler::sum=0;
double CSaler::ave=0;
void CSaler::total(){
double val=quantity*price;
sum+=val;
}
void CSaler::average(){
ave=sum/n;
}
int main(){
CSaler saler1,saler2,saler3;
saler1.num=101;
saler1.quantity=5;
saler1.price=23.5;
saler1.num=102;
saler1.quantity=12;
saler1.price=22.5;
saler1.num=103;
saler1.quantity=100;
saler1.price=21.5;
int CSaler::n+=quantity;
total();
average();
}