main.c
#include <string.h>
#include <stdio.h>
#include "conversion.iso-8859-15.c"
void convertir_minusculas(char* buffer) {
unsigned char* indice;
while (*buffer) {
indice = strchr(mayusculas, *buffer);
if (indice != NULL) {
*buffer = minusculas;
}
buffer++;
}
}
void convertir_mayusculas(char* buffer) {
unsigned char* indice;
while (*buffer) {
indice = strchr(minusculas, *buffer);
if (indice != NULL) {
*buffer = mayusculas;
}
buffer++;
}
}
void main(void) {
char buffer;
printf("%s\n%s\n", mayusculas, minusculas);
while (!feof(stdin)) {
fgets(buffer, 250, stdin);
convertir_minusculas(buffer);
puts(buffer);
convertir_mayusculas(buffer);
puts(buffer);
*buffer = 0;
}
}
conversion.iso-8859-15.c
unsigned char mayusculas[] = {
0x41, // 0x0041 # LATIN CAPITAL LETTER A
0xC6, // 0x00C6 # LATIN CAPITAL LETTER AE
0xC1, // 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
0xC2, // 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
0xC4, // 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
0xC0, // 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
0xC5, // 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
0xC3, // 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
0x42, // 0x0042 # LATIN CAPITAL LETTER B
0x43, // 0x0043 # LATIN CAPITAL LETTER C
0xC7, // 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
0x44, // 0x0044 # LATIN CAPITAL LETTER D
0x45, // 0x0045 # LATIN CAPITAL LETTER E
0xD0, // 0x00D0 # LATIN CAPITAL LETTER ETH
0xC9, // 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
0xCA, // 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
0xCB, // 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
0xC8, // 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
0x46, // 0x0046 # LATIN CAPITAL LETTER F
0x47, // 0x0047 # LATIN CAPITAL LETTER G
0x48, // 0x0048 # LATIN CAPITAL LETTER H
0x49, // 0x0049 # LATIN CAPITAL LETTER I
0xCD, // 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
0xCE, // 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
0xCF, // 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
0xCC, // 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
0x4A, // 0x004A # LATIN CAPITAL LETTER J
0x4B, // 0x004B # LATIN CAPITAL LETTER K
0x4C, // 0x004C # LATIN CAPITAL LETTER L
0x4D, // 0x004D # LATIN CAPITAL LETTER M
0x4E, // 0x004E # LATIN CAPITAL LETTER N
0xD1, // 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
0x4F, // 0x004F # LATIN CAPITAL LETTER O
0xD3, // 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
0xD4, // 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
0xD6, // 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
0xD2, // 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
0xD8, // 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE
0xD5, // 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
0x50, // 0x0050 # LATIN CAPITAL LETTER P
0x51, // 0x0051 # LATIN CAPITAL LETTER Q
0x52, // 0x0052 # LATIN CAPITAL LETTER R
0x53, // 0x0053 # LATIN CAPITAL LETTER S
0x54, // 0x0054 # LATIN CAPITAL LETTER T
0xDE, // 0x00DE # LATIN CAPITAL LETTER THORN
0x55, // 0x0055 # LATIN CAPITAL LETTER U
0xDA, // 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
0xDB, // 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
0xDC, // 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
0xD9, // 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
0x56, // 0x0056 # LATIN CAPITAL LETTER V
0x57, // 0x0057 # LATIN CAPITAL LETTER W
0x58, // 0x0058 # LATIN CAPITAL LETTER X
0x59, // 0x0059 # LATIN CAPITAL LETTER Y
0xDD, // 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE
0xBE, // 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS
0x5A, // 0x005A # LATIN CAPITAL LETTER Z
0 // Fin de cadena
};
unsigned char minusculas[] = {
0x61, // 0x0061 # LATIN SMALL LETTER A
0xE6, // 0x00E6 # LATIN SMALL LETTER AE
0xE1, // 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
0xE2, // 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
0xE4, // 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
0xE0, // 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
0xE5, // 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
0xE3, // 0x00E3 # LATIN SMALL LETTER A WITH TILDE
0x62, // 0x0062 # LATIN SMALL LETTER B
0x63, // 0x0063 # LATIN SMALL LETTER C
0xE7, // 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
0x64, // 0x0064 # LATIN SMALL LETTER D
0x65, // 0x0065 # LATIN SMALL LETTER E
0xF0, // 0x00F0 # LATIN SMALL LETTER ETH
0xE9, // 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
0xEA, // 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
0xEB, // 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
0xE8, // 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
0x66, // 0x0066 # LATIN SMALL LETTER F
0x67, // 0x0067 # LATIN SMALL LETTER G
0x68, // 0x0068 # LATIN SMALL LETTER H
0x69, // 0x0069 # LATIN SMALL LETTER I
0xED, // 0x00ED # LATIN SMALL LETTER I WITH ACUTE
0xEE, // 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
0xEF, // 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
0xEC, // 0x00EC # LATIN SMALL LETTER I WITH GRAVE
0x6A, // 0x006A # LATIN SMALL LETTER J
0x6B, // 0x006B # LATIN SMALL LETTER K
0x6C, // 0x006C # LATIN SMALL LETTER L
0x6D, // 0x006D # LATIN SMALL LETTER M
0x6E, // 0x006E # LATIN SMALL LETTER N
0xF1, // 0x00F1 # LATIN SMALL LETTER N WITH TILDE
0x6F, // 0x006F # LATIN SMALL LETTER O
0xF3, // 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
0xF4, // 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
0xF6, // 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
0xF2, // 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
0xF8, // 0x00F8 # LATIN SMALL LETTER O WITH STROKE
0xF5, // 0x00F5 # LATIN SMALL LETTER O WITH TILDE
0x70, // 0x0070 # LATIN SMALL LETTER P
0x71, // 0x0071 # LATIN SMALL LETTER Q
0x72, // 0x0072 # LATIN SMALL LETTER R
0x73, // 0x0073 # LATIN SMALL LETTER S
0x74, // 0x0074 # LATIN SMALL LETTER T
0xFE, // 0x00FE # LATIN SMALL LETTER THORN
0x75, // 0x0075 # LATIN SMALL LETTER U
0xFA, // 0x00FA # LATIN SMALL LETTER U WITH ACUTE
0xFB, // 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
0xFC, // 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
0xF9, // 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
0x76, // 0x0076 # LATIN SMALL LETTER V
0x77, // 0x0077 # LATIN SMALL LETTER W
0x78, // 0x0078 # LATIN SMALL LETTER X
0x79, // 0x0079 # LATIN SMALL LETTER Y
0xFD, // 0x00FD # LATIN SMALL LETTER Y WITH ACUTE
0xFF, // 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
0x7A, // 0x007A # LATIN SMALL LETTER Z
0 // Fin de cadena
};
