Запрет ввода символов в консоли - C (СИ)
Формулировка задачи:
Помогите, пожалуйста, пишу программу, какую - не важно, главное что нужно, что бы нельзя было вводить все символы кроме цифр. СМожет както с помощью ASCII кода можно это сделать?
Решение задачи: «Запрет ввода символов в консоли»
textual
Листинг программы
#include <stdio.h>
int main(void)
{
char ch;
while(printf("enter digit: ") && (ch = getchar()) < '0' || ch > '9'){
printf("Error input. Please try again.\n");
fflush(stdin);
}
return 0;
}
Объяснение кода листинга программы
В этом коде на языке C:
- Объявлена переменная типа char с именем
ch. - В цикле while программа выводит сообщение
enter digit:и ожидает ввода цифры. - Если введенный символ не является цифрой или введенный символ равен '0', то выводится сообщение об ошибке
Error input. Please try again.и ввод очищается с помощью функции fflush(stdin). - Цикл while продолжается до тех пор, пока не будет введена корректная цифра.
- По завершении цикла программа завершается с кодом возврата 0. Код предотвращает ввод нецифровых символов и символа '0', требуя от пользователя ввода цифр.