练习2.42:根据你自己的理解重写一个Sales_data.h头文件,并以此为基础重做2.6.2节(第67页)的练习。
答案:见程序
练习2.42
#include <iostream>
struct Sales_data{
std::string bookNo;
unsigned units_sold;
double price = 0.0;
double revenue = 0.0;
};
int main()
{
Sales_data item1, item2;
double totalRevenue = 0;
double totalSold = 0;
int counter = 1;
if (std::cin >> item1.bookNo >> item1.units_sold >> item1.price)
{
item1.revenue = item1.price * item1.units_sold;
while (std::cin >> item2.bookNo >> item2.units_sold >> item2.price){
item2.revenue = item2.price * item2.units_sold;
if(item1.bookNo == item2.bookNo){
item1.units_sold = item1.units_sold + item2.units_sold;
item1.revenue= item1.revenue + item2.revenue;
++counter;
}
else {
std::cout << item1.bookNo << " " << item1.units_sold << " " << item1.revenue << " Times:" << counter << std::endl;
item1.bookNo = item2.bookNo;
item1.units_sold = item2.units_sold;
item1.revenue = item2.revenue;
counter = 1;
}
}
std::cout << item1.bookNo << " " << item1.units_sold << " " << item1.revenue << " Times:" << counter << std::endl;
}
return 0;
}