Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/02/2009, 19:53
Avatar de cesmichael
cesmichael
 
Fecha de Ingreso: julio-2008
Mensajes: 207
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Pasar a Mayusculas

en primer lugar lo que quieras transformar en mayuscula es una cadena de caracteres no. si esta utilizando punteros es porque la cadena que vas a utilizar es una vector dinamico. Es decir se crea en tiempo de ejecucion, no sabes el tiempo del vector por eso lo creas en tiempo de ejecucion. entonces creo que deberia ser asi:

Código:
void PasaaMayus(char *cad)
{
   while (cad[i]!='\0')
   {
     if ((cad[i]>'a')&&(cad[i]<'z') 
        cad[i+=cad[i]-32;
     i++;
   } 
}
ahora si lo quieres con solo punteros sin utilizar eso de "[i]", creo que seria asi:

Código:
void PasaaMayus(char *cad)
{
   while (cad!='\0')
   {
     if ((cad>(int)'a')&&(cad<(int)'z') 
        (*cad)=(*cad)-32;
   cad++;
   } 
}

Te confieso que aun no lo he probado, solo he empleado ms conocimientos teoricos, si no te funciona lo avisas. espero havberte ayudado