Autor
|
Tema: programa con while [c++] (Leído 2,111 veces)
|
audiogalaxy.
Desconectado
Mensajes: 24
|
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: #include <iostream> using namespace std; int main(void) { int n=0,a=0,edad[5],e=0,p=0; string nombre[20],apellido[20]; float prom[5]; while(n<4) { cout<<"Dame el nombre "<<(n+1)<<" : "; cin>>nombre[n]; cout<<"Dame el apellido de "<<nombre[n]<<" : "; cin>>apellido[a]; cout<<"Dame la edad de "<<nombre[n]<<" "<<apellido[a]<<" : "; cin>>edad[e]; cout<<"Dame la nota promedio de "<<nombre[n]<<" "<<apellido[a]<<" : "; cin>>prom[p]; n++; }
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
|
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
Mensajes: 1.211
|
for (int i = 0; i < 4;i++) { cout<<nombre[i]<<endl; cout<<apellido[i]<<endl; cout<<edad[i]<<endl; cout<<prom[i]<<endl; }
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
|
|
|
|
audiogalaxy.
Desconectado
Mensajes: 24
|
A ver lo hago más simple: #include <iostream> using namespace std; int main(void) { string nombre[100]; int cal[3],n,c; n=0; while(n<5) { cout<<"Dame el nombre "<<(n+1)<<" : "; cin>>nombre[n]; c=0; while(c<3) { cout<<"Dame la calificacion "<<(n+1)<<" de "<<nombre[n]<<" : "; cin>>cal[c]; c++; } n++; } n=0; while(n<5) { cout<<nombre[n]<<endl; c=0; while(c<3) { cout<<cal[c]<<endl; c++; } n++; } return 0; }
no me imprime bien las calificaciones. Qué estoy haciendo mal?
|
|
|
En línea
|
Qué sería de dios sin el Hombre.
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
no me imprime bien las calificaciones. Más detalles.
|
|
|
En línea
|
|
|
|
dato000
Desconectado
Mensajes: 3.034
|
Te confieso que me dio más problemas del que me imaginaba, principalmente porque hacia tiempo no usaba matrices, cuando veas entenderas el porque #include <iostream> using namespace std; int main(void) { string nombre[100]; int cal[5][3]; //Son 3 calificaciones para 5 alumnos, se usa una matriz bidimensional 5 filas X 3 columnas int fila; // contador para alumnos, puede ser n, el nombre del contador sirve de referencia int columna; // contador para las calificaciones fila=0; columna=0; while(fila < 5) { cout << "Dame el nombre " << (fila+1) << ": "; cin >> nombre[fila]; while(columna < 3) { cout<<"Dame la calificacion "<<(columna+1)<<" de "<<nombre[fila]<<": "; cin>>cal[fila][columna]; columna++; } fila++; columna=0; } fila=0; columna=0; cout << endl << "******CALIFICACIONES******" << endl << endl; while(fila < 5) { cout<<nombre[fila] << ": "; while(columna < 3) { cout<<cal[fila][columna]<< " "; columna++; } cout << endl; fila++; columna = 0; } cout << endl; return 0; }
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Muy bien dat000, sólo una pequeña precisión. El la declaración de: 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: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: #include <iostream> #define FILA 5 #define COLUMNA 3 using namespace std; int main(void) { string nombre[FILA]; int cal[FILA][COLUMNA]; //Son 3 calificaciones para 5 alumnos, se usa una matriz bidimensional 5 filas X 3 columnas int fila=0; // contador para alumnos, puede ser n, el nombre del contador sirve de referencia int columna=0; // contador para las calificaciones for (fila=0;fila < FILA;fila ++) { cout << "Dame el nombre " << (fila+1) << ": "; cin >> nombre[fila]; for (columna=0;columna < COLUMNA;columna++) { cout<<"Dame la calificacion "<<(columna+1)<<" de "<<nombre[fila]<<": "; cin>>cal[fila][columna]; columna++; } } cout << endl << "******CALIFICACIONES******" << endl << endl; for (fila=0;fila < FILA;fila ++) { cout<<nombre[fila] << ": "; for (columna=0;columna < COLUMNA;columna++) { cout<<cal[fila][columna]<< " "; columna++; } cout << endl; } cout << endl; return 0; }
Aunque me repito, si se trata de practicar con while ta´O.K.
Saluditos!. ... ..
|
|
|
En línea
|
|
|
|
dato000
Desconectado
Mensajes: 3.034
|
Muy bien dato000, sólo una pequeña precisión. El la declaración de: 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.
|
|
|
En línea
|
|
|
|
audiogalaxy.
Desconectado
Mensajes: 24
|
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.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Programa que hace click en un lugar fuera del programa [c#]
.NET (C#, VB.NET, ASP)
|
Un usuario
|
1
|
2,811
|
24 Octubre 2006, 22:58 pm
por SeniorX
|
|
|
hacer programa Programa para almacenar fotos
« 1 2 »
Programación Visual Basic
|
ThonyMaster
|
11
|
8,676
|
2 Diciembre 2008, 20:58 pm
por ssccaann43 ©
|
|
|
Hay alguna forma de saber con que programa se creo ese programa?
Dudas Generales
|
Senior++
|
2
|
3,201
|
31 Julio 2011, 15:16 pm
por Senior++
|
|
|
programa en c++ el programa me da un error dice que la llave correspondiente a {
Programación C/C++
|
eduardo17445
|
2
|
4,537
|
5 Junio 2012, 19:51 pm
por eduardo17445
|
|
|
programa de matriz aver si el programa q estoy haciendo esta bien
« 1 2 »
Programación C/C++
|
eduardo17445
|
10
|
6,834
|
23 Octubre 2012, 00:11 am
por flony
|
|