c++第9题

#include <iostream>

#include <string>

#include <iomanip>

using namespace std;

class Transaction

{

public:

Transaction(int n=0,double p=0,intq=0,double

d=1):num(n),price(p),quantity(q),discount(d){}

static double average();

static void display();

void show();

void total();

private:

int num;//卖方的数量

double price;//每个产品的价格

double discount;//一天的折扣

int quantity;//每个事务的数量

static double revenu;//revenu整个事务

static int q_sum;//交易数量的总和

};

//initialize the static data members

double Transaction::revenu=0;

int Transaction::q_sum=0;

double Transaction::average()

{

return revenu/q_sum;

}

void Transaction::total()

{

q_sum+=quantity;

//if more than or equal with 10, 2%discount plus

double discount_plus;

if(quantity>=10)

discount_plus=0.98;

else

discount_plus=1;

revenu+=discount*discount_plus*price*quantity;

}

void Transaction::display()

{

cout<<"The revenu of all thetransaction is: "

<<revenu<<endl

<<"The average price of theproduct is: "

<<average()<<endl;

}

void Transaction::show()

{

cout<<setw(10)<<num

<<setw(10)<<setiosflags(ios::fixed)<<setprecision(2)<<price<<setw(10)<<quantity

<<setw(10)<<setiosflags(ios::fixed)<<setprecision(2)<<revenu<<setw(10)<<q_sum<<endl;

}

int main()

{

const int number=3;//3 transactionstotally.

Transaction t[number]=

{

Transaction(101,23.5,5),

Transaction(102,24.56,12),

Transaction(103,21.5,100),

};

for(int i=0;i<number;i++)

{

t[i].total();

t[i].show();

}

Transaction::display();

return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值