Программа, позволяющая пользователю ввести символ и получить полную информацию о нем - C (СИ)
Формулировка задачи:
Пожалуйста, помогите написать программу, позволяющую пользователю ввести символ и получить полную информацию о нем (его код, или этот символ является буквой, цифрой, знаком препинания, управляющим символом и т.д.). Пользователь должен иметь возможность вводить символы пока не нажмет «ESC».
Решение задачи: «Программа, позволяющая пользователю ввести символ и получить полную информацию о нем»
textual
Листинг программы
#include <stdio.h> #include <ctype.h> const char* GetType(const int c) { if (iscntrl(c)) return "control character"; if (isdigit(c)) return "decimal digit"; if (ispunct(c)) return "punctuation character"; if (isspace(c)) return "white-space"; if (isblank(c)) return "blanck character"; if (isupper(c)) return "uppercase letter"; return "lowercase letter"; } void PrintCharInfo(const int c) { printf("Character data:\n" "VAL DEC HEX TYPE\n" " %c %3d %02hhX %s\n", isprint(c) ? c : ' ', c, c, GetType(c) ); } int main(void) { for (int c = 0; c < 128; c++) { PrintCharInfo(c); } return 0; }
Объяснение кода листинга программы
- #include
Включает в программу файл стандартного ввода/вывода, который содержит функции для работы с консолью. - #include
Включает в программу библиотеку, которая содержит функции для работы со строками и символами, в том числе функции для проверки типов символов. - *const char GetType(const int c)** Функция, которая принимает целочисленный параметр
c
и возвращает указатель на строку, содержащую информацию о типе символа. Если символ является управляющим, возвращаетcontrol character
. Если символ является десятичной цифрой, возвращаетdecimal digit
. Если символ является знаком пунктуации, возвращаетpunctuation character
. Если символ является пробелом, возвращаетwhite-space
. Если символ является пустой клеткой, возвращаетblank character
. Если символ является заглавной буквой, возвращаетuppercase letter
. В противном случае возвращаетlowercase letter
. - void PrintCharInfo(const int c) Функция, которая принимает целочисленный параметр
c
и выводит информацию о символе в консоль. Информация выводится в виде таблицы, содержащей значения символа в десятичной, шестнадцатеричной системах счисления и его тип. - int main(void) Функция, которая является точкой входа в программу. Создает цикл, который проходит по всем символам от 0 до 127 и вызывает функцию
PrintCharInfo()
. - for (int c = 0; c < 128; c++) Цикл, который проходит по всем символам от 0 до 127.
- PrintCharInfo(c); Вызывает функцию
PrintCharInfo()
с текущим значением переменнойc
. - return 0; Обозначает успешный конец работы программы.
- *const char GetType(const int c)** Эта функция возвращает строку, содержащую информацию о типе символа.
- void PrintCharInfo(const int c) Эта функция выводит информацию о символе в консоль.
- int main(void) Эта функция является точкой входа в программу.
- for (int c = 0; c < 128; c++) Этот цикл проходит по всем символам от 0 до 127.
- PrintCharInfo(c); Эта строка вызывает функцию
PrintCharInfo()
с текущим значением переменнойc
. - return 0; Это обозначает успешный конец работы программы.
- #include
Включает в программу файл стандартного ввода/вывода, который содержит функции для работы с консолью. - #include
Включает в программу библиотеку, которая содержит функции для работы со строками и символами, в том числе функции для проверки типов символов. - *const char GetType(const int c)** Эта функция возвращает строку, содержащую информацию о типе символа.
- void PrintCharInfo(const int c) Эта функция выводит информацию о символе в консоль.
- int main(void) Эта функция является точкой входа в программу.
- for (int c = 0; c < 128; c++) Этот цикл проходит по всем символам от 0 до 127.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д