elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  programa con while [c++]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: programa con while [c++]  (Leído 2,111 veces)
audiogalaxy.

Desconectado Desconectado

Mensajes: 24



Ver Perfil
programa con while [c++]
« en: 30 Mayo 2013, 18:30 pm »

Primero indico que estoy aprendiendo.
Llevo vistos 7 de los videos con los que enseñan c++. Aunque el while no lo ven hasta como por el 16.

Hice este programa con while.
Su objetivo es recabar 5 datos e imprimirlos, así nada más sin ninguna operación.


Mi problema es que no sé cómo imprimirlos bien.

Les muestro lo que tengo:

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main(void)
  5. {
  6. int n=0,a=0,edad[5],e=0,p=0;
  7. string nombre[20],apellido[20];
  8. float prom[5];
  9. while(n<4)
  10. {
  11. cout<<"Dame el nombre "<<(n+1)<<" : ";
  12. cin>>nombre[n];
  13. cout<<"Dame el apellido de "<<nombre[n]<<" : ";
  14. cin>>apellido[a];
  15. cout<<"Dame la edad de "<<nombre[n]<<" "<<apellido[a]<<" : ";
  16. cin>>edad[e];
  17. cout<<"Dame la nota promedio de "<<nombre[n]<<" "<<apellido[a]<<" : ";
  18. cin>>prom[p];
  19. n++;
  20. }

Cómo imprimo estas notas.

Intenté imprimirlos solamente y después por medio de otro while. Pero no me salen.

Podrían decir como hacerlo.

Muchas gracias


En línea

Qué sería de dios sin el Hombre.
Stakewinner00


Desconectado Desconectado

Mensajes: 1.426



Ver Perfil WWW
Re: programa con while [c++]
« Respuesta #1 en: 30 Mayo 2013, 19:18 pm »

que es lo que no funciona?

Creo que te descuidaste un "}" al final. Y si quieres recabar 5 datos en el while tienes que poner un 5 y no un 4


En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: programa con while [c++]
« Respuesta #2 en: 30 Mayo 2013, 20:25 pm »

Código
  1. for (int i = 0; i < 4;i++)
  2. {
  3.  cout<<nombre[i]<<endl;
  4.  cout<<apellido[i]<<endl;
  5.  cout<<edad[i]<<endl;
  6.  cout<<prom[i]<<endl;
  7. }

Lo que pasa esque hay un problema al guardarlos, tienes que usar la misma variable en todos (n). Elimina la a,la e y la p...
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
audiogalaxy.

Desconectado Desconectado

Mensajes: 24



Ver Perfil
Re: programa con while [c++]
« Respuesta #3 en: 30 Mayo 2013, 21:46 pm »

A ver lo hago más simple:

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main(void)
  5. {
  6. string nombre[100];
  7. int cal[3],n,c;
  8.  
  9. n=0;
  10. while(n<5)
  11. {
  12. cout<<"Dame el nombre "<<(n+1)<<" : ";
  13. cin>>nombre[n];
  14. c=0;
  15. while(c<3)
  16. {
  17. cout<<"Dame la calificacion "<<(n+1)<<" de "<<nombre[n]<<" : ";
  18. cin>>cal[c];
  19. c++;
  20. }
  21. n++;
  22. }
  23.  
  24. n=0;
  25. while(n<5)
  26. {
  27. cout<<nombre[n]<<endl;
  28.  
  29. c=0;
  30. while(c<3)
  31. {
  32. cout<<cal[c]<<endl;
  33. c++;
  34. }
  35. n++;
  36. }
  37.  
  38.  
  39.  
  40. return 0;
  41. }

no me imprime bien las calificaciones.
Qué estoy haciendo mal?

En línea

Qué sería de dios sin el Hombre.
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: programa con while [c++]
« Respuesta #4 en: 30 Mayo 2013, 22:14 pm »

no me imprime bien las calificaciones.
Más detalles.
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
dato000


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Re: programa con while [c++]
« Respuesta #5 en: 30 Mayo 2013, 22:54 pm »

Te confieso que me dio más problemas del que me imaginaba, principalmente porque hacia tiempo no usaba matrices, cuando veas entenderas el porque

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main(void)
  6.  
  7. {
  8.    string nombre[100];
  9.    int cal[5][3]; //Son 3 calificaciones para 5 alumnos, se usa una matriz bidimensional 5 filas X 3 columnas
  10.  
  11.    int fila; // contador para alumnos, puede ser n, el nombre del contador sirve de referencia
  12.    int columna; // contador para las calificaciones
  13.  
  14.    fila=0;
  15.    columna=0;
  16.  
  17.    while(fila < 5)
  18.    {
  19. cout << "Dame el nombre " << (fila+1) << ":  ";
  20. cin >> nombre[fila];
  21.  
  22. while(columna < 3)
  23. {
  24.                          cout<<"Dame la calificacion "<<(columna+1)<<" de "<<nombre[fila]<<":  ";
  25.                          cin>>cal[fila][columna];
  26. columna++;
  27. }
  28.  
  29. fila++;
  30. columna=0;
  31.    }
  32.  
  33.    fila=0;
  34.    columna=0;
  35.  
  36.    cout << endl << "******CALIFICACIONES******" << endl << endl;
  37.  
  38.    while(fila < 5)
  39.    {
  40.        cout<<nombre[fila] << ":  ";
  41.        while(columna < 3)
  42.        {
  43.            cout<<cal[fila][columna]<< " ";
  44.            columna++;
  45.        }
  46.  
  47.        cout << endl;
  48.        fila++;
  49.        columna = 0;
  50.    }
  51.  
  52.    cout << endl;
  53.    return 0;
  54. }
  55.  
En línea


leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: programa con while [c++]
« Respuesta #6 en: 31 Mayo 2013, 00:29 am »

Muy bien dat000, sólo una pequeña precisión. El la declaración de:

Código
  1. string nombre[100];

el 100 no tiene mucho sentido ya que sólo se van a  guardar 5 alumnos, en este supuesto, con lo que yo propongo:

Código
  1. string nombre[5];

Y por otro lado puedo llegar a entender el uso de while como una imposición, pero no como una opción lógica. Para bucles en que se conozcan los valores a introducir es más razonable y simple el uso de los for, dejando el uso de while y do-while para aquellos casos en que no se tiene el total de iteraciones sino que se impone alguna condición para la salida del bucle. Incluso en algunos de estos  casos podría servir el for, que como comenté me parece más fácil/transparente de construir y seguir. Y en este sentido propongo una alternativa con for:

Código
  1. #include <iostream>
  2. #define FILA    5
  3. #define COLUMNA 3
  4. using namespace std;
  5.  
  6. int main(void)
  7.  
  8. {
  9.    string nombre[FILA];
  10.    int cal[FILA][COLUMNA]; //Son 3 calificaciones para 5 alumnos, se usa una matriz bidimensional 5 filas X 3 columnas
  11.    int fila=0; // contador para alumnos, puede ser n, el nombre del contador sirve de referencia
  12.    int columna=0; // contador para las calificaciones
  13.    for (fila=0;fila < FILA;fila ++)
  14.    {
  15.        cout << "Dame el nombre " << (fila+1) << ":  ";
  16.        cin >> nombre[fila];
  17.        for (columna=0;columna < COLUMNA;columna++)
  18.        {
  19.            cout<<"Dame la calificacion "<<(columna+1)<<" de "<<nombre[fila]<<":  ";
  20.            cin>>cal[fila][columna];
  21.            columna++;
  22.        }
  23.    }
  24.    cout << endl << "******CALIFICACIONES******" << endl << endl;
  25.    for (fila=0;fila < FILA;fila ++)
  26.    {
  27.        cout<<nombre[fila] << ":  ";
  28.        for (columna=0;columna < COLUMNA;columna++)
  29.        {
  30.            cout<<cal[fila][columna]<< " ";
  31.            columna++;
  32.        }
  33.        cout << endl;
  34.    }
  35.    cout << endl;
  36.    return 0;
  37. }
  38.  

Aunque me repito, si se trata de practicar con while ta´O.K.

Saluditos!. ... ..
En línea

dato000


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Re: programa con while [c++]
« Respuesta #7 en: 31 Mayo 2013, 01:59 am »

Muy bien dato000, sólo una pequeña precisión. El la declaración de:

Código
  1. string nombre[100];

el 100 no tiene mucho sentido ya que sólo se van a  guardar 5 alumnos, en este supuesto, con lo que yo propongo:


Seee lo se, solo deje ahi porque el principal estaba asi,


Aunque me repito, si se trata de practicar con while ta´O.K.

Saluditos!. ... ..


Xactamente amigo, lo hice con while porque nuestro amigo necesitaba el trabajo en while, personalmente, prefiero un do-while, pero pues, hay que probar de todo.  :laugh: :laugh:
En línea


audiogalaxy.

Desconectado Desconectado

Mensajes: 24



Ver Perfil
Re: programa con while [c++]
« Respuesta #8 en: 31 Mayo 2013, 05:34 am »

matriz bidimensional. He ahí el problema. Y sí, lo que yo quería era hacerlo con while.

Muchas gracias. 
En línea

Qué sería de dios sin el Hombre.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines