C/Visual C - Duda con ejercicio

 
Vista:

Duda con ejercicio

Publicado por vane (4 intervenciones) el 31/08/2005 21:28:15
Hola
Que tal !!! tengo una duda con este ejercicio en C.
A partir de un archivo de texto, tengo que leer todos los caracteres y convertirlos a mayusculas (sin usar la funcion toupper ) incluyendo las letras acentuadas y las ñ. Pasa que al tratarse de un lenguaje con alfabeto ingles, no las reconoce entonces use los ALT para una letra acentuada como por ej á >> ALT + 160.
Se entiende lo que quiero hacer ???
Aca les paso el codigo... pero no me funciona... y no se porque ...

#include <stdio.h>
#include <ctype.h>

int EsNumero (const int n);
int ConvertirAMayuscula (int c);

int main () {

FILE *arch1,*arch2;
char c;

arch1 = fopen ( "original.txt", "rt");
arch2 = fopen ("nue.txt", "wt");

while ((c = fgetc (arch1)) != EOF) {
c = ConvertirAMayuscula (c);
fputc (c, arch2);}
if (EsNumero (c) != 1)
fputc(c, arch2);

fclose (arch1);
fclose (arch2);
return 0;
}

int EsNumero (const int n){

if (n >= '0' && n <= '9')
return 1;
return 0;
}

int ConvertirAMayuscula (int c)
{
switch(c)
{
case 'Alt+164':
c='Alt+165';
break;
case 'Alt+160' :
c='Á';
break;
case 'Alt+130' :
c='Alt+144';
break;
case 'Alt+162' :
c='Ó';
break;
case 'Alt+163 ' :
c='Ú';
break;
case 'Alt+161' :
c='Í';
break;
default:
c=toupper(c);
break;
}
return c ;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder