Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: delirio en 28 Noviembre 2010, 00:09 am



Título: Convertir cadena minuscula en mayuscula
Publicado por: delirio en 28 Noviembre 2010, 00:09 am
Hola gentita.........puxa perdonen la ingnorancia.....pero esq quiero su ayuda con mi codigo .........esq quiero convertir una cadena de caracteres de minusculas a mayusculas ...pero la cosa esq mi codigo solo hace eso para una palabra nomas...y no para una frase porque se cuelga el programa, es decir para los espacios es donde se cuelga .......como stoy trabajando con su codigo ASCII de cada palabra y la diferencia entre cada palabra de minuscula con su respectiva mayuscula es de 32, entonces le resto 32 a esa palabra minuscula y me imprime en pantalla en mayuscula........pero se da que el codigo ASCII del ESPACIO es 32 y entonces ahi sta el problema .....no sé como restringirlo.........como stoy pollo en esto de programacion tovia..........espero me ayuden...............HEEEEELP!!!


Código
  1. #include<iostream.h>
  2. #include<stdlib.h>
  3. #include<stdio.h>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.    char cadena[50];
  10.    int i=0;
  11.    int n;
  12.  
  13.    cout<<"Ingrese palabra: ";
  14.    gets(cadena);
  15.  
  16. /*-------------------------------------------------------------*/  
  17.    while(cadena[i] != '\0')
  18.    {
  19.      if(cadena[i]>=97 && cadena[i]<=122)    // a=65  y   z=122  ( en codigo Ascii)
  20.       {                                    
  21.        cadena[i]=cadena[i]-32;                
  22.        i++;
  23.       }
  24.  
  25.    }
  26.    cout<<"\n La palabra convertido en mayusculas es: ";
  27.    cout<<cadena;
  28. /*--------------------------------------------------------------*/    
  29.  
  30. system("PAUSE>nul");
  31. return 0;
  32. }
  33.  
  34.  


Título: Re: Convertir cadena minuscula en mayuscula
Publicado por: xassiz~ en 28 Noviembre 2010, 00:38 am
Haz igual:
Código
  1. if(cadena[i]==' ')
  2.  


Título: Re: CONVERTIR CADENA EN MINUSCULA A MAYUSCULA
Publicado por: BlackZeroX en 28 Noviembre 2010, 00:46 am
saca  i++ de este trozo de codigo:

Código
  1.      if(cadena[i]>=97 && cadena[i]<=122)    // a=65  y   z=122  ( en codigo Ascii)
  2.       {                                    
  3.        cadena[i]=cadena[i]-32;                
  4.        i++;
  5.       }
  6.  

Código
  1.      if(cadena[i]>=97 && cadena[i]<=122)
  2.        cadena[i]=cadena[i]-32;                
  3.      i++;
  4.  

Código
  1.  
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main(int argc, char *argv[])
  7. {
  8.    char cadena[]="InfrAngeluX-Soft\t->\t2010";
  9.    unsigned int i = 0;
  10.    int DifaA= (int)'a' - (int)'A';
  11.    while(cadena[i] != '\0')
  12.    {
  13.      if( (int)cadena[i] >= (int)'a' && (int)cadena[i] <= (int)'z')
  14.          cadena[i] -= DifaA;
  15.      i++;
  16.    }
  17.    cout << cadena << endl;
  18.    getwchar();
  19.    return 1;
  20. }
  21.  
  22.  

Sangriento Infierno Lunar!¡.


Título: Re: Convertir cadena minuscula en mayuscula
Publicado por: delirio en 28 Noviembre 2010, 04:36 am
MUXAS GRACIAS GENTE.......JAJJAJA Q ESTUPIDO ERA PA KITARLE LAS LLAVES DESPUES DE EL    if   ....... :xD

osea kedaba asi:

 
Código
  1. while(cadena[i] != '\0')
  2.    {
  3.      if(cadena[i]>=97 && cadena[i]<=122)    // a=65  y   z=122  ( en codigo Ascii)
  4.        cadena[i]=cadena[i]-32;                
  5.        i++;                    
  6.    }