// 7.1.1节练习.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
struct Sales_data {
std::string bookNo;
unsigned units_sold = 0;
double revenue = 0.0;
};
int main()
{
Sales_data total;//保存下一条交易记录的变量
//读入第一条交易记录,并确保有数据可以处理
total.bookNo = "abcdefg";
total.revenue = 0.2;
total.units_sold = 10;
if (total.bookNo != "") {
Sales_data trans; //保存和的变量
//读入并处理剩余交易记录
trans.bookNo = "abcdefg";
trans.revenue = 0.2;
trans.units_sold = 10;
//如果我们仍在处理相同的书
if (total.bookNo == trans.bookNo)
total.units_sold += trans.units_sold;
//更新总销售额
else {
//打印前一本书的结果
std::cout << total.units_sold * total.revenue << std::endl;
total.units_sold = trans.units_sold;
//total现在表示下一本书的销售额
}
}
std::cout << total.units_sold * total.revenue << std::endl;
//打印最后一本书的结果
if (total.bookNo == "") {
//没有输入!警告读者
std::cerr << "No data?" << std::endl;
return -1; //表示失败
}
return 0;
}