C++Primer第五版第七章练习7.1

文章描述了一个对原有书店程序进行升级,使用Sales_data类来跟踪每本书的销售数量和总收入,实现合并同类项并计算平均单价的功能。
摘要由CSDN通过智能技术生成
/*
struct Sales_data{
	string bookNo;
	unsigned units_sold=0;//销售数量
	double revenue =0.0;//销售收入
};
练习7.1:使用上述Sales_data类为下列程序编写一个新版本。
//1.6书店程序
int main() 
{
    Sales_item total; 
    if (cin >> total) {
		Sales_item trans; 
        while (cin >> trans) {
            if (total.isbn() == trans.isbn()) 
                total += trans; 
            else {              
                cout << total << endl;  
                total = trans; 
            }
		}
        cout << total << endl; 
    } else {
        cerr << "No data?!" << endl;
        return -1; 
    }
    return 0;
}
*/
#include "TouWenJian_7.h"

int main()
{
	Sales_data total;
	double price_total;//单价
	if(cin>>total.bookNo>>total.units_sold>>price_total){
		total.revenue=total.units_sold*price_total;
		Sales_data trans;
		double price_trans;
		while(cin>>trans.bookNo>>trans.units_sold>>price_trans){
			trans.revenue=trans.units_sold*price_trans;
			if(total.bookNo==trans.bookNo){
				total.units_sold += trans.units_sold;
				total.revenue += trans.revenue;
			}
			else{
				cout<<total.bookNo<<"\t"<<total.units_sold<<"\t"
					<<total.revenue<<"\t\t"
					<<total.revenue/total.units_sold<<"\t"
					<<endl;
				total.bookNo=trans.bookNo;
				total.units_sold=trans.units_sold;
				total.revenue=trans.revenue;
			}
		}
		cout<<total.bookNo<<"\t"<<total.units_sold<<"\t"
			<<total.revenue<<"\t\t"
			<<total.revenue/total.units_sold<<"\t"
			<<endl;
	} else{
		cerr << "No data?!" << endl;
        return -1; 
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值