Я пишу игру для казино на C++ turbo (последняя версия для Windows). Таким образом, в одном конкретном фрагменте программы пользователь должен ввести начальную сумму строго от 0 до 100 000 долларов.
Я создал цикл do-while со встроенным оператором if:
do{
cout << "\n\nEnter a deposit amount (between $0 and $100000) to play game : $";
cin >> amount;
if(amount<=0||amount>=100000)
cout<<"Please re-enter your amount";
}while(amount<=0||amount>=100000);
Проблема возникает, когда пользователь (то есть я) вводит символ или десятичную дробь; затем программа теряет управление и продолжает бесконечно повторяться.
Вопрос. Как сформулировать оператор if, запрашивающий у пользователя повторный ввод суммы, если введено значение, отличное от целого числа? Как я могу впоследствии предотвратить выход программы из-под контроля?
clear()
и используют нечисловой ввод. - person πάντα ῥεῖ   schedule 03.01.2016