Программа, позволяющая пользователю ввести символ и получить полную информацию о нем - 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;
}

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

  1. #include Включает в программу файл стандартного ввода/вывода, который содержит функции для работы с консолью.
  2. #include Включает в программу библиотеку, которая содержит функции для работы со строками и символами, в том числе функции для проверки типов символов.
  3. *const char GetType(const int c)** Функция, которая принимает целочисленный параметр c и возвращает указатель на строку, содержащую информацию о типе символа. Если символ является управляющим, возвращает control character. Если символ является десятичной цифрой, возвращает decimal digit. Если символ является знаком пунктуации, возвращает punctuation character. Если символ является пробелом, возвращает white-space. Если символ является пустой клеткой, возвращает blank character. Если символ является заглавной буквой, возвращает uppercase letter. В противном случае возвращает lowercase letter.
  4. void PrintCharInfo(const int c) Функция, которая принимает целочисленный параметр c и выводит информацию о символе в консоль. Информация выводится в виде таблицы, содержащей значения символа в десятичной, шестнадцатеричной системах счисления и его тип.
  5. int main(void) Функция, которая является точкой входа в программу. Создает цикл, который проходит по всем символам от 0 до 127 и вызывает функцию PrintCharInfo().
  6. for (int c = 0; c < 128; c++) Цикл, который проходит по всем символам от 0 до 127.
  7. PrintCharInfo(c); Вызывает функцию PrintCharInfo() с текущим значением переменной c.
  8. return 0; Обозначает успешный конец работы программы.
  9. *const char GetType(const int c)** Эта функция возвращает строку, содержащую информацию о типе символа.
  10. void PrintCharInfo(const int c) Эта функция выводит информацию о символе в консоль.
  11. int main(void) Эта функция является точкой входа в программу.
  12. for (int c = 0; c < 128; c++) Этот цикл проходит по всем символам от 0 до 127.
  13. PrintCharInfo(c); Эта строка вызывает функцию PrintCharInfo() с текущим значением переменной c.
  14. return 0; Это обозначает успешный конец работы программы.
  15. #include Включает в программу файл стандартного ввода/вывода, который содержит функции для работы с консолью.
  16. #include Включает в программу библиотеку, которая содержит функции для работы со строками и символами, в том числе функции для проверки типов символов.
  17. *const char GetType(const int c)** Эта функция возвращает строку, содержащую информацию о типе символа.
  18. void PrintCharInfo(const int c) Эта функция выводит информацию о символе в консоль.
  19. int main(void) Эта функция является точкой входа в программу.
  20. for (int c = 0; c < 128; c++) Этот цикл проходит по всем символам от 0 до 127.

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


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

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

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