Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/02/2009, 08:42
lucashard
 
Fecha de Ingreso: diciembre-2007
Mensajes: 41
Antigüedad: 16 años, 5 meses
Puntos: 0
problema al pasar a mayuscula

me pueden decir porque mi programa no pasa las palabras a mayusculas???????, lo compilo en visual c++ 6.0 y me tira en esa parte un caracter, me pueden ayudar?, gracias.

#include <stdio.h>
#define MAX 256
int contar (char *fr);
void inversion (char *fr,int lg);
void mayuscula (char *fr);

int main()
{
char frase[MAX];
int longitud;
printf ("Ingrese una frase por favor\n");
gets (frase);

longitud=contar(frase);
printf ("La longitud es: %d \n",longitud);

printf ("La palabra invertida es: \n");
inversion(frase,longitud);
printf ("\nLa palabra en mayuscula es: \n");
mayuscula (frase);

printf ("\n");
return 0;
}
int contar (char *fr)
{
int lg=0;
while (*fr++!='\0')
lg++;

return lg;
}
void inversion (char *fr,int lg)
{
//char fra[MAX];
int i;
for (i=lg-1;i>=0;i--)
printf ("%c",*(fr+i));
}
void mayuscula (char *fr)
{
while (*fr++!='\0')
if ((*fr>'a') && (*fr<'z'))
*fr=(*fr)-32;
printf ("%c",*fr);

}