我是 C++ 编程新手,遇到了障碍。这是我的代码:
#include <iostream>
using namespace std;
int main(){
int sum = 0, a;
cout << "enter first set of numbers:";
while(cin >> a) sum += a;
cout << "first sum = " << sum;
cin.clear();
cin.ignore( numeric_limits<streamsize>::max(), '\n');
sum = 0;
cout << "enter second set of numbers:";
while(cin >> a) sum += a;
cout << "second sum = " << sum;
}
我正在尝试对我在命令行输入的两组数字求和。问题是当我按下 ctrl-d 来终止我的第一组数字时,它会跳过第二组 cin。我在互联网上其他地方找到的大多数页面都告诉我使用 cin.clear 和 cin.ignore。我已经尝试过了,它仍然无法正常工作。这个关于 cin.clear()的页面问题甚至似乎也有同样的问题。但是,他们建议的修复对我不起作用。
上面的代码对其他人有用吗?