Ввод только цифр при инициализации переменной в C/C++, запрет на ввод букв в консоли.

Ввод только цифр при инициализации переменной в C/C++, запрет на ввод букв в консоли.

Как сделать проверку на ввод только цифр?

Наверняка многие сталкивались с крашем программы если произвести ввод букв при инициализации переменной типа int. Для выполнения проверки нам потребуется следующая конструкция:

do {
res = scanf("%d", &n);
while (getchar() != '\n');
if (res == 1) printf("%s", "Хорошо!\n");
else printf("%s", "Плохо:(\n"); }
while (res != 1);

*Не забудьте объявить переменную res (int res;)

Теперь при вводе любых символов кроме цифр в консоли будет выводиться «Плохо:(«, а с помощью цикла будет запрашиваться повторный ввод. При правильном вводе (только цифр) выведется «Хорошо!».

Вот так должно получиться:

Проверка на ввод цифр

Если остались вопросы — задавайте в комментариях.