Как можно использовать ASCII коды символов для проверки корректности ввода? - C (СИ)
Формулировка задачи:
кто знает как можно использовать ASCII коды символов для проверки корректности ввода?
вот у меня есть программа
но если вместо своего имени я введу цифры или другие символы, нужно сообщить об ошибке.
я представляю это примерно так:
но знаю, что это даже не близко к правде.
Здесь 97 и 122 я пытался ограничить ввод строчными латинскими символами.
Кто знает, помогите.
int main(){ char name[30]; printf("What is your name? "); scanf("%s", &name); return 0; }
if((name[i]<=97)||(name[i]>=122)) printf("error");
Решение задачи: «Как можно использовать 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-кодов.
- Первое условие проверяет, является ли символ строчной буквой (от 'a' до 'z' включительно) или символом, большим 'z'.
- Второе условие проверяет, является ли символ прописной буквой (от 'A' до 'Z' включительно) или символом, меньшим 'A'.
- Третье условие проверяет, является ли символ символом ASCII в диапазоне от 0x80 до 0xaf (от '©' до 'ÿ').
- Четвертое условие проверяет, является ли символ символом ASCII в диапазоне от 0xE0 до 0xF1 (от 'À' до 'ô'). Если какой-либо из этих проверок не проходит, то выводится сообщение об ошибке и цикл прерывается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д