Я попытался запросить пользователя для ввода и выполнить проверку. Например, моя программа должна принимать 3 пользовательских ввода. Когда он попадает не целой, он будет печатать сообщение об ошибке и снова запрашивать ввод. Вот как моя программа будет выглядеть при работе:Проверка целочисленности для ввода
Введите номер: в
Неправильный ввод
Введите номер: 1
Введите номер: б
Неправильный вход
Введите число: 2
Введите число: 3
введенного числа 1,2,3
И вот мой код:
double read_input()
{
double input;
bool valid = true;
cout << "Enter number: " ;
while(valid){
cin >> input;
if(cin.fail())
{
valid = false;
}
}
return input;
}
Мой главный метод:
int main()
{
double x = read_input();
double y = read_input();
double z = read_input();
}
Когда мой первый вход нецелый, программа просто выходит сама по себе. Он не запрашивает приглашение снова. Как я мог ее исправить? Или я должен использовать цикл do while, так как я прошу ввести пользователя.
Заранее спасибо.
мы должны увидеть больше кода .. вы проверили его с помощью отладчика? может быть сбой ... –
внутри основного метода Я просто пишу double x = read_input(); double y = read_input(); double z = read_input(); Я делаю неправильный путь? –