/*
 * gcc -o taula_ascii taula_ascii.c
 * ./taula_ascii
 */

#include <stdio.h>

main() {
	int i, f, c, n, num_f = 16, num_c = 8;

	printf("TAULA ASCII\n===========\n\n");

	for(i=0;i<2;i++) {
		for(f=0;f<num_f;f++) {
			for(c=0;c<num_c;c++) {
				n = i*num_c*num_f + c*num_f + f;
				switch (n) {
					case 0:
						printf("%03d[\\0]\t", n);
						break;
					case 5:
						printf("%03d[^E]\t", n);
						break;
					case 7:
						printf("%03d[\\a]\t", n);
						break;
					case 8:
						printf("%03d[\\b]\t", n);
						break;
					case 9:
						printf("%03d[\\t]\t", n);
						break;
					case 10:
						printf("%03d[\\n]\t", n);
						break;
					case 11:
						printf("%03d[\\v]\t", n);
						break;
					case 12:
						printf("%03d[\\f]\t", n);
						break;
					case 13:
						printf("%03d[\\r]\t", n);
						break;
					case 14:
						printf("%03d[^N]\t", n);
						break;
					case 15:
						printf("%03d[^O]\t", n);
						break;
					case 27:
						printf("%03d[\\e]\t", n);
						break;
					default:
						printf("%03d[%c]\t", n, (unsigned char) n);
				}
			}
			printf("\n");
		}
		printf("\n");
	}

	printf("\n---\nMore info: https://en.wikipedia.org/wiki/ASCII\n");
}

