Пользовательский ввод целых чисел - обработка ошибок

У меня возникли проблемы с определенными областями ввода моей программы. Есть несколько частей, где пользователь вводит определенное целое число. Даже если они введут не тот, которыйВсе хорошо и замечательно, но я заметил, что если они вводят что-то не целочисленного типа, например, 'm' затем он будет повторять сообщение об ошибке несколько раз.

У меня есть пара функций, которые имеют целочисленный ввод в них. Вот'Один пример.

void Room::move(vector& v, int exone, int extwo, int exthree, int current)
{
    v[current].is_occupied = false;
    int room_choice;
    cout < "\nEnter room to move to: ";
    while(true)
    {
        cin >> room_choice;
        if(room_choice == exone || room_choice == extwo || room_choice == exthree)
        {
            v[room_choice].is_occupied = true;
            break;
        }
        else cout < "Incorrect entry. Try again: ";
    }
}

Ответы на вопрос(3)

Ваш ответ на вопрос