C++primer 7.1.1节练习
练习7.1
1 struct Sales_data { 2 std::string bookNo; 3 unsigned units_sold = 0; 4 double revenue = 0.0; 5 }; 6 7 int main() 8 { 9 Sales_data total;//保存下一条交易记录的变量 10 //读入第一条交易记录,并确保有数据可以处理 11 total.bookNo = "abcdefg"; 12 total.revenue = 0.2; 13 total.units_sold = 10; 14 if (total.bookNo != ""){ 15 Sales_data trans; //保存和的变量 16 //读入并处理剩余交易记录 17 trans.bookNo = "abcdefg"; 18 trans.revenue = 0.2; 19 trans.units_sold = 10; 20 21 //如果我们仍在处理相同的书 22 if (total.bookNo == trans.bookNo) 23 total.units_sold += trans.units_sold; 24 //更新总销售额 25 else { 26 //打印前一本书的结果 27 std::cout << total.units_sold * total.revenue << std::endl; 28 total.units_sold = trans.units_sold; 29 //total现在表示下一本书的销售额 30 } 31 } 32 std::cout << total.units_sold * total.revenue << std::endl; 33 //打印最后一本书的结果 34 if(total.bookNo=="") { 35 //没有输入!警告读者 36 std::cerr << "No data?" << std::endl; 37 return -1; //表示失败 38 } 39 return 0; 40 }
参考了网上的答案