商店销售某一件商品,每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上对一次购10件者还可以享受9.8折优惠。现已知当天3名销售人员的销售情况为:
销售员号(num) 销售件数(quantity) 销售单价(price)
101 5 23.5
102 12 24.56
103 100 21.5
请编程序计算出当日此商品的总销售款sum,以及每件商品的平均售价。要求用静态数据成员和静态成员函数。
提示:将折扣、总销售款和商品的总件数声明为静态数据成员,再定义静态成员函数average(求平均售价)和display(输出结果)。
我的代码如下:
错误已备注,希望高手指正
#include
using namespace std;
class Sell
{
public:
Sell(int,int,float);
void qiusum(); //see declaration of 'qiusum'
static float discount;
static float sum;
static float average();
static void display();
private:
int quantity;
float price;
int num;
static int n;
}
void Sell::qiusum() //'Sell' followed by 'void' is illegal (did you forget a ';'?)
{ //: 'class Sell __thiscall Sell::qiusum(void)' : overloaded function differs only by return type from 'void __thiscall Sell::qiusum(void)'
//error C2371: 'qiusum' : redefinition; different basic types
if(quantity>10)
sum=sum+quantity*price*0.98;
else
sum=sum+quantity*price;
n=n+quantity;
}
Sell::Sell(int num,int q,float p)
{
num=num;
quantity=q;
price=p;
}
float Sell::average()
{
return(sum/n);
}
void Sell::display()
{
cout<<"总销售款sum="<
float Sell::sum=0;
int Sell::n=0;
int main()
{
Sell s[3]={Sell(101,5,23.5),Sell(102,12,24.56),Sell(103,100,21.5)}; // warning C4305: 'argument' : truncation from 'const double' to 'float'
for(int i=0;i<3;i++)
{
s[i].qiusum(); //'qiusum' : error in function definition or declaration; function not called
}
Sell::display();
return 0;
}
谢谢