《C++Primer第五版》第二章遗留问题
#include<iostream>
#include<string>
using namespace std;
struct Sales_data
{
string book_no;
double price = 0.0;
unsigned units_sold = 0;
double revenue = 0.0;
};
int main()
{
Sales_data trans, currtrans;
cin >> trans.book_no >> trans.units_sold >> trans.price;
while (cin >> currtrans.book_no >> currtrans.units_sold >> currtrans.price)
{
double totalAvg = 0;
if (trans.book_no == currtrans.book_no)
{
trans.revenue = trans.price * trans.units_sold;
trans.units_sold += currtrans.units_sold;
currtrans.revenue = currtrans.price * currtrans.units_sold;
trans.revenue += currtrans.revenue;
totalAvg = trans.revenue / trans.units_sold;
cout << trans.book_no << " " << trans.units_sold << " " << trans.revenue << " " << totalAvg << endl;
}
else
{
trans.book_no = currtrans.book_no, trans.price = currtrans.price, trans.revenue = currtrans.revenue, trans.units_sold = currtrans.units_sold;
}
return 0;
}
}