Как можно использовать ASCII коды символов для проверки корректности ввода? - C (СИ)

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

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

кто знает как можно использовать ASCII коды символов для проверки корректности ввода? вот у меня есть программа
int main(){
 
    char name[30];
 
    printf("What is your name? ");
    scanf("%s", &name);
 
    return 0;
}
но если вместо своего имени я введу цифры или другие символы, нужно сообщить об ошибке. я представляю это примерно так:
if((name[i]<=97)||(name[i]>=122))
printf("error");
но знаю, что это даже не близко к правде. Здесь 97 и 122 я пытался ограничить ввод строчными латинскими символами. Кто знает, помогите.

Решение задачи: «Как можно использовать ASCII коды символов для проверки корректности ввода?»

textual
Листинг программы
if(((name[i]<'\x61')||(name[i]>'\x7a')) && ((name[i]<'\x41')||(name[i]>'\x5a')) && ((name[i]<'\x80')||(name[i]>'\xaf'))    &&  ((name[i]<'\xe0')||(name[i]>'\xf1'))  ) {printf("error\n"); break;}

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

В представленном коде проверяется, является ли введенный символ корректным. Код использует четыре условия, которые проверяют, находится ли символ в определенном диапазоне ASCII-кодов.

  1. Первое условие проверяет, является ли символ строчной буквой (от 'a' до 'z' включительно) или символом, большим 'z'.
  2. Второе условие проверяет, является ли символ прописной буквой (от 'A' до 'Z' включительно) или символом, меньшим 'A'.
  3. Третье условие проверяет, является ли символ символом ASCII в диапазоне от 0x80 до 0xaf (от '©' до 'ÿ').
  4. Четвертое условие проверяет, является ли символ символом ASCII в диапазоне от 0xE0 до 0xF1 (от 'À' до 'ô'). Если какой-либо из этих проверок не проходит, то выводится сообщение об ошибке и цикл прерывается.

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


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

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

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