练习7.1
头文件:
#ifndef SALES_DATA_H
#define SALES_DATA_H
#include <string>
struct Sales_data {
std::string bookNo;
unsigned units_sold = 0;
double revenue = 0;
};
#endif
源文件:
#include <iostream>
#include <vector>
#include <string>
#include "Sales_data.h"
using namespace std;
int main() {
Sales_data total;//保存下一条交易记录的变量
double price = 0.0;
//读入第一条交易记录,并确保有数据可以处理
if (cin >> total.bookNo >> total.units_sold >> price)
{
total.revenue = total.units_sold * price;
Sales_data trans;
while (cin >> trans.bookNo >> trans.units_sold >> price) {
//如果我们在处理相同的书
trans.revenue = trans.units_sold * price;
if (total.bookNo == trans.bookNo) {
total.revenue = total.revenue + trans.revenue;
total.units_sold = total.units_sold + trans.units_sold;
}
else {
//打印前一笔交易的次数
cout << "Result is " << total.bookNo << " " << total.units_sold << " " << total.revenue << endl;
total = trans;
}
}
cout << "Result is " << total.bookNo << " " << total.units_sold << " " << total.revenue << endl; //打印最后一笔交易的结果
}
else {
//没有输入
cerr << "No data?" << endl;
return -1;
}
return 0;
}