Ver Mensaje Individual
  #7 (permalink)  
Antiguo 22/10/2011, 17:56
Avatar de latinpower
latinpower
 
Fecha de Ingreso: septiembre-2010
Ubicación: Canelones
Mensajes: 116
Antigüedad: 14 años, 4 meses
Puntos: 10
Respuesta: Convertir minúsculas a mayúsculas

Proba así, el problema que te daba debe ser que le hacias calcular algo dentro de una condición del FOR.

Es decir, el FOR tiene 3 partes, la iniciacion(la primer parte), la condición(la del medio) y la sentencia que se ejecuta(la tercer parte). Vos le hacías hacer calculos durante la condición.

Acá lo que hice fue usar una variable largo, y calcular el largo de la palabra, y luego repetir mientras que el indice sea menor al mismo.


Código C++:
Ver original
  1. #include <iostream>
  2.      
  3.     using namespace std;
  4.      
  5.     int main()
  6.     {
  7.     char palabra[10];
  8.     cout << "Introduzca una palabra de cuatro letras: " << endl;
  9.     cin >> palabra;
  10.     int largo;
  11.     largo =strlen (palabra);
  12.     for (int i=0; i<largo; i++){
  13.     palabra[i]=toupper(palabra[i]);
  14.     }
  15.     cout << "La palabra en mayúsculas es: " << palabra << endl;
  16.     system("pause");
  17.     return 0;
  18.     };


El char no tiene por qué ser de 90, puede ser del largo que quieras. Y otra cosa más, si en la condición, le pones repetir hasta que sea menor que 90, y la palabra es de, por ejemplo, 4(como le indicas en el cout) vas a hacer que el programa repita 86 veces más, sin sentido.

Comprobalo vos mismo.

Código C++:
Ver original
  1. #include <iostream>
  2.      
  3.     using namespace std;
  4.      
  5.     int main()
  6.     {
  7.     char palabra[10];
  8.     cout << "Introduzca una palabra de cuatro letras: " << endl;
  9.     cin >> palabra;
  10.     int largo;
  11.     largo =strlen (palabra);
  12.     for (int i=0; i<90; i++){
  13.     palabra[i]=toupper(palabra[i]);
  14.     cout << "i";
  15.     }
  16.     cout << "La palabra en mayúsculas es: " << palabra << endl;
  17.     system("pause");
  18.     return 0;
  19.     };