Я новичок в программировании на 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(), даже похоже, есть те же проблемы. Тем не менее, исправления, которые они предлагают, не работают для меня.
Этот код выше работает для кого-то еще?