C++;初级读物第5版,练习1.23无输出 我用C++底漆自学C++,在练习1.23上被困了两天。问题是:

C++;初级读物第5版,练习1.23无输出 我用C++底漆自学C++,在练习1.23上被困了两天。问题是:,c++,C++,练习第1.5.2节 练习1.23:编写一个程序,读取多个事务,并计算每个ISBN发生的事务数 练习1.24:通过提供多个事务来测试上一个程序 表示多个ISBN。每个ISBN的记录应分组在一起 我应该使用一个名为“Sales_item”的类来提供这一点,该类输入ISBN、项目数量和销售价格(例如4 24.99)。它还启用以下操作: 我已尝试使用以下代码执行第一个练习: #include <iostream> #include "Sales_item.h" int main() {

练习第1.5.2节

练习1.23:编写一个程序,读取多个事务,并计算每个ISBN发生的事务数

练习1.24:通过提供多个事务来测试上一个程序 表示多个ISBN。每个ISBN的记录应分组在一起

我应该使用一个名为“Sales_item”的类来提供这一点,该类输入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;
}
#包括
#包括“销售项目.h”
int main()
{
int-cnt=0;
销售项目1、项目2、项目3、项目4;
//确认我们有来自内嵌的数据
如果(标准::cin>>第1项){
cnt=1;
//读取其余事务并为每个事务添加到cnt
而(标准::cin>>项目2>>项目3>>项目4){
cnt++;
}
}
否则{

std::cout像
cin
这样的iostreams返回流本身,这就是你可以链接它们的方式。因此,while循环中的测试总是非零的,因此永远不会退出。

离开输入循环的唯一方法是关闭stdin。你应该能够根据操作系统使用ctrl+D或ctrl+Z来执行此操作。注意:一次如果关闭std,则很难使std::cin再次工作。