SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: kingsizen en Jueves 9 de Abril de 2009, 06:00

Título: funcion toupper
Publicado por: kingsizen en Jueves 9 de Abril de 2009, 06:00
Hola gente del foro, tengo una duda:

como se usa la funcion toupper?... miren este ejemplo:
Código: C
  1.  
  2. #include <stdio.h>
  3. #include <ctype.h>
  4.  
  5. main()
  6. {
  7.       char palabra[20];
  8.      
  9.       scanf ("%s",palabra);
  10.       toupper(palabra);
  11.       printf ("%s",palabra);
  12. }
  13.  

porque no me muestra lo que escribo en mayusculas??. espero sus respuestas!!
Título: Re: funcion toupper
Publicado por: betopin en Jueves 9 de Abril de 2009, 06:17
Porque está mal. De hecho deberia marcarte error. El comando toupper asi como tolower modifican caracter a caracter, no una cadena completa

El ejercicio corregido es asi

Código: C
  1. #include <stdio.h>
  2. #include <ctype.h>
  3. #include <stdlib.h>
  4. int main()
  5. {
  6.  char palabra[20];
  7.  int a=0;
  8.  scanf ("%s",palabra);
  9.  while(palabra[a]!='')
  10.  {
  11.   palabra[a]=toupper(palabra[a]);
  12.   a++;
  13.  }
  14.  printf ("%sn",palabra);
  15.  system("pause");
  16.  return 0;    
  17. }
  18.  

Saludos
Título: Re: funcion toupper
Publicado por: eternity en Jueves 9 de Abril de 2009, 06:23
es porque toupper funciona con variables de tipo char, no con cadenas de caracteres!

EI: juntando mensajes.

bien por betopin que llego primero!
Título: Re: funcion toupper
Publicado por: kingsizen en Jueves 9 de Abril de 2009, 18:21
Buenisimo, muchas gracias!!!  :beer: