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);
}