请编写程序,上机调试。商店销售某一商品,售价为25元,每天公布统一的折扣( discount ),销售人员售价可以在折扣价和总价之间灵活变动(如当天折扣为0.2,则销售人员单价可以在20-25之间变动)。
在此基础上,如果一次购10件以上可以享受98折优惠。如果当天3个销售员的销售情况如下:
销售员号( num ) 销售件数( quantity )
销售单价( price )
一会给你代码,display()的输出有什么要求吗?
运行结果:
代码:
#include <iostream>
#include <string>
using namespace std;
class Stuf
{
private:
string num; //销售员号
int quantity;//销售件数
float price; //销售单价
static float discount; //折扣
static float sum; //销售总额
static int n; //销售总件数
public:
Stuf() {}
Stuf(string id, int nmb, float pri)
{
num = id;
quantity = nmb;
price = pri;
//设置总件数
n += quantity;
//计算销售总额
if (n > 10)
sum += nmb * pri * 0.98;
else
sum += nmb * pri;
}
//求平均价格
static float average()
{
return sum / n;
}
//输出结果
static void display()
{
cout << "销售总额:" << sum << ",销售总件数:" << n << endl;
}
//设置参数
void setInfo(string id, int nmb, float pri)
{
num = id;
quantity = nmb;
price = pri;
//设置总件数
n += quantity;
//计算销售总额
if (n > 10)
sum += nmb * pri * 0.98;
else
sum += nmb * pri;
}
//获取销售件数
//int getQuantity() { return quantity; }
//获取销售单价
//float getPrice() { return price; }
};
float Stuf::discount = 0.2; //折扣
float Stuf::sum = 0; //销售总额
int Stuf::n=0; //销售总件数
int main()
{
string id;
int nmb;
float price;
Stuf st[3];
for (int i = 0; i < 3; i++)
{
cout << "请输入销售员" << i + 1 << "的销售员号 销售件数 销售单价:";
cin >> id >> nmb >> price;
st[i].setInfo(id, nmb, price);
}
Stuf::display();
cout << "平均价格:" << Stuf::average() << endl;
return 0;
}
#include <iostream>
using namespace std;
class sales
{
public:
int num;
int quantity;
float price;
static float discount;
static float sum;
static int n;
public:
sales() {}
void setInfo(int id,int q,float p)
{
num = id;
quantity = q;
price = p;
n += q;
if(q >= 10)
sum += q*p*0.98;
else
sum += q*p;
}
static float average() {return sum/n;}
static void display() {cout<<"销售总件数:"<<n<<",销售总额:"<<sum<<",平均价格:"<<average()<<endl;}
};
float sales::discount = 0;
float sales::sum = 0;
int sales::n = 0;
int main()
{
cout<<"请输入今天折扣:";
cin>>sales::discount;
sales s[3];
cout<<"请分别输入三个销售员的销售信息:\n";
int id,q;
float p;
for(int i=0;i<3;i++)
{
cin>>id>>q>>p;
s[i].setInfo(id,q,p);
}
sales::display();
return 0;
}