Контроль ввода цифр - C (СИ)
Формулировка задачи:
Как сделать защиту от дурака.
Дан массив в него нужно ввести цифры для заполнения, но если ты вводишь букву то должно вывести "Ошибка"/
Решение задачи: «Контроль ввода цифр»
textual
Листинг программы
#include <stdio.h> #define N 100 int main (void) { char c; char n[N]; int i; i = 0; while ((c = getchar()) != '\n' && i < N-1){ if (c >= 48 && c <= 57) { n[i] = c; i++; } else{ printf("Oshibka!");break;} } n[i] = '\0'; printf("%s\n", n); return(0);}
Объяснение кода листинга программы
В этом коде:
- Объявлены следующие переменные:
c
объявлена какchar
, используется для получения ввода пользователя.n
объявлена как массив символов (char[]
), используется для хранения введенных цифр.i
объявлена какint
, используется для отслеживания количества введенных цифр.
- В цикле
while
происходит следующее:- Получается ввод пользователя с помощью функции
getchar()
. - Если введенный символ является цифрой (в диапазоне от 0 до 9), он добавляется в массив
n
и увеличивается счетчикi
. - Если введенный символ не является цифрой, выводится сообщение об ошибке
Oshibka!
и цикл прерывается.
- Получается ввод пользователя с помощью функции
- После окончания цикла, в массиве
n
содержится строка, состоящая из введенных цифр. Эта строка выводится на экран с помощью функцииprintf()
. - В конце программы возвращается 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д