// 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; }