Ввод только цифр при инициализации переменной в 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;)

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

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

Демонстрация работы проверки

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