Вывод на печать символа ввода и его десятичное значение

zamanov

New member
08.04.2015
2
0
#1
Основной вопрос задачи - вывод непечатаемых символов (тех что меньше пробела в кодировке ASCII).
Вот полный текст задачи: Напишите программу, которая считывает поток символов до момента обнаружения EOF. Программа выводит на печать каждый символ и его десятичный код. Если встречается непечатаемый символ новой строки или табуляции, печатается \n or \t. используйте запись, выполняемую с помощью управляющих символов.
Далее пишется Например ASCII 1 соответствует комбинации ctrl+A, что отображается как ^A, а код А - ctrl+A +64. Далее просится выводить по десять пар, но начинать с новой строки каждый раз если встречается символ новой строки.....
Меня завело в тупик вот это последнее пояснение.... решить эту задачу я смог методом исключения (для случая табуляции и новой строки).....но меня терзает мысль что я просто так и не понял правильно условие...
Подскажите как используется в данном примере условие замены ctrl+A
Вот мой код
C++:
#include <stdio.h>
 
 
int main (void)
 
{	  int ch;
	   int i = 0;
 
	   while ((ch = getchar()) != EOF)
			{	 if (ch >= ' ')
				   {
 
					  i++;
					  putchar(ch);
					  printf("-%d,", ch);
				   }
							   else if (ch == '\n')
							   {
								  printf("\\n");
								  printf("-%d,", ch);
								  printf("\n");
								  i = 0; }
									else if (ch == '\t')
								{
								  printf("\\t");
								  printf("-%d,", ch);
								  i++;
 
								 }
 
 
				  if (i == 10)
				   {
					printf("\n");
					i = 0;}
			}
 
return 0;
 
}