Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Convertir minúsculas a mayúsculas

Estas en el tema de Convertir minúsculas a mayúsculas en el foro de C/C++ en Foros del Web. Hola, me da un error en la línea 10 y no se qué problema hay. Otra cuestión en char palabra, ¿tiene que estar ese 90? ...
  #1 (permalink)  
Antiguo 21/10/2011, 13:39
 
Fecha de Ingreso: octubre-2011
Mensajes: 15
Antigüedad: 12 años, 6 meses
Puntos: 1
Convertir minúsculas a mayúsculas

Hola, me da un error en la línea 10 y no se qué problema hay. Otra cuestión en char palabra, ¿tiene que estar ese 90?
Muchas gracias y saludos.

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

Última edición por juangebeboz; 21/10/2011 a las 13:40 Razón: Agradecer
  #2 (permalink)  
Antiguo 21/10/2011, 15:05
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Convertir minúsculas a mayúsculas

A mi me corre bien, por si las dudas, cambiale el

Código C++:
Ver original 

por

Código C++:
Ver original
  1. i<90

tambien corre asi
  #3 (permalink)  
Antiguo 22/10/2011, 01:35
 
Fecha de Ingreso: octubre-2011
Mensajes: 15
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Convertir minúsculas a mayúsculas

Cita:
Iniciado por baker1562 Ver Mensaje
A mi me corre bien, por si las dudas, cambiale el

Código C++:
Ver original 

por

Código C++:
Ver original
  1. i<90

tambien corre asi
Pero mi pregunta es, ¿para qué sirve ese 90?
¿Se podría omitir?
  #4 (permalink)  
Antiguo 22/10/2011, 02:48
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Convertir minúsculas a mayúsculas

no necesaria mente lo que se refiere ese 90, es a que, va haber una variable char de 90 posiciones por asi decirlo, o sea le van a entrar 90 caracteres, eso nada mas, es el tamaño del char, tu siquieres le pones cualquier cantidad ejemplo 100, 25, 40, etc, dependiendo de lo que vayas a ingresar
  #5 (permalink)  
Antiguo 22/10/2011, 05:48
 
Fecha de Ingreso: octubre-2011
Mensajes: 15
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Convertir minúsculas a mayúsculas

Me imaginaba que era para eso, de todas formas si no le pongo nada, ¿podrías poner caracteres hasta un determinado rango no?

Muchas gracias.
  #6 (permalink)  
Antiguo 22/10/2011, 06:16
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Convertir minúsculas a mayúsculas

Cita:
Iniciado por juangebeboz Ver Mensaje
Me imaginaba que era para eso, de todas formas si no le pongo nada, ¿podrías poner caracteres hasta un determinado rango no?

Muchas gracias.
si no le pones nada, solo entra un caracter, y si,tu pones cuan grande sera los que ingreses y si quieres ingresar varias palabras, que se guarden en posiciones del vector, tendrias que hacer una matriz digamos [10][100]
  #7 (permalink)  
Antiguo 22/10/2011, 17:56
Avatar de latinpower  
Fecha de Ingreso: septiembre-2010
Ubicación: Canelones
Mensajes: 116
Antigüedad: 13 años, 7 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.     };
  #8 (permalink)  
Antiguo 26/10/2011, 06:49
 
Fecha de Ingreso: enero-2011
Ubicación: Venezuela, Táchira
Mensajes: 96
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: Convertir minúsculas a mayúsculas

Cita:
Iniciado por juangebeboz Ver Mensaje
Hola, me da un error en la línea 10 y no se qué problema hay. Otra cuestión en char palabra, ¿tiene que estar ese 90?
Muchas gracias y saludos.

Código C++:
Ver original
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. char palabra[90];
  8. cout << "Introduzca una palabra de cuatro letras: " << endl;
  9. cin >> palabra;
  10. for (int i=0; i<strlen (palabra); i++){
  11. palabra[i]=toupper(palabra[i]);
  12. }
  13. cout << "La palabra en mayúsculas es: " << palabra << endl;
  14. system("pause");
  15. return 0;
  16. };
uhmm creo que te hace falta la libreria <cstring> que es la que contiene las funciones para trabajar las cadenas como la strlen(), otra cosita para que reservas tanta memoria en char palabra[90] si pides explicitamente una palabra de solo 4 letras? bueno de todas formas es mejor usar en el for en la parte de parada el strlen o bien declarar antes una variable e igualarla al resultado del strlen para que asi no se pierda tiempo haciendo comparaciones "basura"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:13.