Вывод символов таблицей с помощью getch() и putchar() - C (СИ)
Формулировка задачи:
Задание: написать функцию, которая по мере ввода символов рисует таблицу и помещает символы в таблицу по одному. В таблицу заносятся только символы с ASCII-кодами 128-256.
если вводить кириллицу, то все ок, а если нажать, к примеру TAB или ENTER прога останавливается. подскажите где ошибка?
#include <conio.h>
#include <stdio.h>
void main()
{
int key;
int count = 0;
key = getch();
for( ; ; )
{
if(count != 0 && ((count % 15) == 0))
printf("\n");
if((key >= 128) && (key <= 256))
{
key = getch();
printf("%c|", key);
count++;
}
if( key == 27) break;
}
}Решение задачи: «Вывод символов таблицей с помощью getch() и putchar()»
textual
Листинг программы
#include <conio.h>
#include <stdio.h>
int main()
{
int key;
int count = 0;
printf("CODE | CHAR\n");
while((key = getch()) != 27)
{
if(128 <= key && key <= 256)
printf("%d | %c \n",(unsigned char)key,key);
}
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек:
и . - Объявление переменных: — key — для хранения значения, полученного с помощью функции getch(); — count — для подсчёта количества выводимых символов.
- Вывод шапки таблицы:
CODE | CHAR. - Запуск цикла while, который будет выполняться до тех пор, пока значение key не станет равным 27.
- Внутри цикла проверка значения key: если оно находится в диапазоне от 128 до 256, то происходит вывод значения key и самого символа.
- Увеличение значения count на единицу после каждого вывода.
- Завершение программы и возврат в основную оболочку.