#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
class Transaction
{
public:
Transaction(int n=0,double p=0,int q=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;//the saler's number
double price;//the price of each product
double discount;//The discount of the day
int quantity;//the number of each transaction
static double revenu;//the revenu of the whole transactions
static int q_sum;//the sum of the number of the transations
};
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 the transaction is: "
<<revenu<<endl
<<"The average price of the product 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 transactions totally.
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;
}
第3章 第9题
最新推荐文章于 2024-06-17 14:50:48 发布