[ Foro de C++ ]
Estoy armando un programa que muestre la plantilla e información de un club:
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
int nplant;
struct institucion {
char nombre[35], estadio[35],entrenador[35];
int capacidad;
}equipo;
struct plantel {
char nombre[35],nacionalidad[20];
char posicion;
int edad,dorsal;
float altura,peso;
char piehabil;
}jugador;
int main (){
fflush (stdin);
cout << "Ingrese el nombre de su equipo: ";
gets (equipo.nombre);
cout << "Ingrese el nombre de su estadio: ";
gets (equipo.estadio);
cout << "Capacidad: ";
cin >> equipo.capacidad;
cout << "DT: ";
gets (equipo.entrenador);
cout << "Cantidad de jugadores en su plantel: ";
cin >> nplant;
for (int i=0;i<nplant;i++){
cout << "Nombre del jugador: ";
gets (jugador.nombre);
cout << "Edad: ";
cin >> jugador.edad;
cout << "Posicion: ";
cin >> jugador.posicion;
cout << "Nacionalidad: ";
gets (jugador.nacionalidad);
cout << "Pie habil: ";
cin >> jugador.piehabil;
cout << "Altura: ";
cin >> jugador.altura;
cout << "Peso: ";
cin >> jugador.peso;
cout << "Dorsal: ";
cin >> jugador.dorsal;
}
cout << "\n" << "Equipo: " << equipo.nombre << endl;
cout << "Estadio: " << equipo.estadio << endl;
cout << "Capacidad: " << equipo.capacidad << endl;
cout << "Jugadores: " << nplant << endl;
cout << "DT: " << equipo.entrenador << endl;
switch (jugador.posicion) {
case 'A':
cout << "\n" << "\t Arqueros \n" << endl;
cout << jugador.nombre << "\t" << jugador.edad << "\t" << jugador.piehabil << "\t" << jugador.dorsal;
cout << "\t" << jugador.altura << "\t" << jugador.peso << "\t" << jugador.nacionalidad << endl;
break;
case 'D':
cout << "\n" << "\t Defensores \n" << endl;
cout << jugador.nombre << "\t" << jugador.edad << "\t" << jugador.piehabil << "\t" << jugador.dorsal;
cout << "\t" << jugador.altura << "\t" << jugador.peso << "\t" << jugador.nacionalidad << endl;
break;
case 'M':
cout << "\n" << "\t Mediocampistas \n" << endl;
cout << jugador.nombre << "\t" << jugador.edad << "\t" << jugador.piehabil << "\t" << jugador.dorsal;
cout << "\t" << jugador.altura << "\t" << jugador.peso << "\t" << jugador.nacionalidad << endl;
break;
case 'C':
cout << "\n" << "\t Delanteros \n" << endl;
cout << jugador.nombre << "\t" << jugador.edad << "\t" << jugador.piehabil << "\t" << jugador.dorsal;
cout << "\t" << jugador.altura << "\t" << jugador.peso << "\t" << jugador.nacionalidad << endl;
break;
default:
cout << "Ingrese una posicion correcta: ";
}
system ("pause");
return 0;
}
El problema es que sólo muestra un caso (El último que guardo dentro del programa), y no sabría cómo hacer que muestre más de un caso. Además, si quisiera ingresar información de más de un equipo ¿Cómo podría hacer?
Suena a que ese "switch" debería estar dentro de un "while" (o un "do-while") para que se repita varias veces, hasta que se escoja la opción de salir.
Se me ocurrió hacer esto, pero me sigue mostrando solo la carga de la última iteración
while (nplant==i){
return 0;
}
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)