私は 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;
}
コマンド ラインで入力した 2 つの数値セットを合計しようとしています。問題は、ctrl-d を押して最初の数字のセットを終了すると、2 番目の cin のセットがスキップされることです。インターネット上の他の場所で見つけたほとんどのページでは、cin.clear と cin.ignore を使用するように指示されています。私はそれを試しましたが、まだうまくいきません。cin.clear() に関するこのページの質問にも同じ問題があるようです。ただし、彼らが提案する修正は私にはうまくいきません。
上記のコードは他の人でも機能しますか?