I don't know why my do-while loop is infinite.
int number_1, number_2 = 0;
do {
cin.sync();
cin.clear();
cout << "Give number_1: ";
cin >> number_1;
while (cin.good() == 1) {
number_2 += number_1;
cout << "Give new number_1: ";
cin >> number_1;
};
} while (number_2<1000);
Untill i write correct number_1 everything is fine, but if i write incorrect value (for example "a") my loop becomes infinite because line 6 is ignored. Where is the clue?