我正在用C ++入门教程自学C ++,并且在练习1.23时被绊了两天。这是问题所在:
锻炼第1.5.2节
练习1.23:编写一个程序,读取多个事务并计算每个ISBN发生多少事务。
练习1.24:通过进行多次交易来测试先前的程序 代表多个ISBN。每个ISBN的记录都应分组在一起。
我应该使用名为“ Sales_item”的类来提供此功能,该类需要输入ISBN,项目数和销售价格(例如<ISBN> 4 24.99
)。它还启用以下操作:
我尝试使用以下代码进行第一次练习:
#include <iostream>
#include "Sales_item.h"
int main()
{
int cnt = 0;
Sales_item item1, item2, item3, item4;
//Verify we have data from the infile
if (std::cin >> item1) {
cnt = 1;
//read the rest of the transactions and add to cnt for each
while (std::cin >> item2 >> item3 >> item4) {
cnt++;
}
}
else {
std::cout << item1.isbn() << " has a total of " << cnt <<
" transactions." << std::endl;
}
return 0;
}
我的想法是,每次将事务传递到标准输入时,while循环都应该增加cnt变量,然后在到达列表末尾时输出反映事务数量的语句,但是我什么也没得到用于输出。我的推理/逻辑在这应该如何工作上是错误的?