Запрет на ввод букв - 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);
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы для работы с функциями ввода-вывода и обработки символов.
  2. Определяем функцию getdig, которая принимает строку и возвращает целое число.
  3. В функции main создаем переменную a типа int и инициализируем её значением, полученным с помощью функции getdig.
  4. Выводим значение переменной a на экран.
  5. Возвращаем 0, чтобы указать, что программа успешно завершилась.
  6. В функции getdig создаем буфер, в который будет считываться ввод пользователя.
  7. Запускаем цикл do, который будет выполняться до тех пор, пока первый символ введенной строки не будет цифрой.
  8. Внутри цикла выводим текст сообщения на экран.
  9. Считываем строку с помощью функции scanf, используя шаблон \n%s, где \n указывает на перевод строки, а %s указывает на считывание строки.
  10. Проверяем, является ли первый символ введенной строки цифрой, используя функцию isdigit.
  11. Если первый символ не является цифрой, выводим сообщение об ошибке.
  12. Повторяем шаги 8-11 до тех пор, пока первый символ введенной строки не будет цифрой.
  13. Возвращаем значение переменной buf с помощью функции atoi, которая преобразует строку в целое число. Список переменных:
  14. a - переменная типа int в функции main, используемая для хранения значения, полученного с помощью функции getdig.
  15. buf - переменная типа char, используемая в функции getdig для хранения введенной пользователем строки. Список функций:
  16. getdig - функция, принимающая строку и возвращающая целое число.
  17. main - функция, являющаяся точкой входа в программу.
  18. printf - функция для вывода сообщений на экран.
  19. scanf - функция для считывания ввода пользователя.
  20. isdigit - функция, проверяющая, является ли символ цифрой.
  21. atoi - функция, преобразующая строку в целое число.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы