Проверка правильности ввода - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Нужно ввести с клавиатуры название страны и ее населения, как сделать проверку правильности ввода, чтобы в поле страна не могли бы вводиться числовые данные а в поле площадь Не могли бы вводиться текстовые данные?

Решение задачи: «Проверка правильности ввода»

textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
 
#define BUFSIZE 55
 
int check_country_name(const char*);
int check_area(const char*);
int is_char(char);
 
int 
main(void)
{
    char buf[BUFSIZE];
 
    printf("Input country: ");
    gets_s(buf, BUFSIZE);
    if(!check_country_name(buf)) {
        printf("Error!\n");
        return -1;
    }
    printf("Input area: ");
    scanf("%55s", buf);
    if(!check_area(buf)) {
        printf("Error!\n");
        return -2;
    }
    printf("Passed!\n");
    return 0;
}
 
int 
check_country_name(const char *str)
{
    for(const char *it = str; *it; ++it) {
        if(!is_char(*it)) {
            return 0;
        }
    }
    return 1;
}
 
int
check_area(const char *str)
{
    for(const char *it = str; *it; ++it) {
        if(!isdigit(*it) && *it != '.' && *it != ',') {
            return 0;
        }
    }
    return 1;
}
 
int
is_char(char ch)
{
    return ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || ch == ' ' || ch == '-');
}

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

  1. Включаются необходимые заголовочные файлы
  2. Определяются функции, которые будут использоваться в программе
  3. Объявляются и инициализируются переменные, используемые в программе
  4. Выводится приглашение для ввода названия страны
  5. Вводится название страны с использованием функции gets_s
  6. Проверяется корректность введенного названия страны с помощью функции check_country_name
  7. Если название страны некорректно, выводится сообщение об ошибке и программа завершается с кодом -1
  8. Выводится приглашение для ввода площади страны
  9. Вводится площадь страны с использованием функции scanf
  10. Проверяется корректность введенной площади страны с помощью функции check_area
  11. Если площадь страны некорректна, выводится сообщение об ошибке и программа завершается с кодом -2
  12. Выводится сообщение о прохождении проверки
  13. Программа завершается с кодом 0

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


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

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

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