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?
