Запрет на ввод букв - C (СИ)
Формулировка задачи:
Я хочу запретить на ввод букв,ибо программа "сломается",как это сделать?.Буду очень признательна
Решение задачи: «Запрет на ввод букв»
textual
Листинг программы
#include <stdio.h> #include <ctype.h> int getdig(char * text); int main(void) { int a; a=getdig("Please enter a:"); printf("a=%d",a); return 0; } int getdig(char * text) { char buf[16]; do { printf("%s",text); scanf("\n%s",buf); if (!isdigit(buf[0])) printf("Incorrect!\n"); }while(!isdigit(buf[0])); return atoi(buf); }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с функциями ввода-вывода и обработки символов.
- Определяем функцию
getdig
, которая принимает строку и возвращает целое число. - В функции
main
создаем переменнуюa
типаint
и инициализируем её значением, полученным с помощью функцииgetdig
. - Выводим значение переменной
a
на экран. - Возвращаем 0, чтобы указать, что программа успешно завершилась.
- В функции
getdig
создаем буфер, в который будет считываться ввод пользователя. - Запускаем цикл
do
, который будет выполняться до тех пор, пока первый символ введенной строки не будет цифрой. - Внутри цикла выводим текст сообщения на экран.
- Считываем строку с помощью функции
scanf
, используя шаблон\n%s
, где\n
указывает на перевод строки, а%s
указывает на считывание строки. - Проверяем, является ли первый символ введенной строки цифрой, используя функцию
isdigit
. - Если первый символ не является цифрой, выводим сообщение об ошибке.
- Повторяем шаги 8-11 до тех пор, пока первый символ введенной строки не будет цифрой.
- Возвращаем значение переменной
buf
с помощью функцииatoi
, которая преобразует строку в целое число. Список переменных: a
- переменная типаint
в функцииmain
, используемая для хранения значения, полученного с помощью функцииgetdig
.buf
- переменная типаchar
, используемая в функцииgetdig
для хранения введенной пользователем строки. Список функций:getdig
- функция, принимающая строку и возвращающая целое число.main
- функция, являющаяся точкой входа в программу.printf
- функция для вывода сообщений на экран.scanf
- функция для считывания ввода пользователя.isdigit
- функция, проверяющая, является ли символ цифрой.atoi
- функция, преобразующая строку в целое число.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д