[ Foro de C++ ]

Duda sobre arreglos unidimensionales

15-May-2016 21:10
Rafael Molina
1 Respuestas

Buen día.
Estoy realizando un ejercicio y quiero saber como operar lo siguiente: este es el ejercicio:


EJERCICIO:
Un equipo  desea hacer la selección de varios jugadores teniendo en cuenta su estatura (minimo 190).
Implemente un programa que solicite el nombre y la estatura e indique cuantos cumplen el requisito.  


void imprimir( struct jugador j[100], int n, double estatura){
	system("cls");
	cout<<setw(10)<<"Nombre"<<setw(20)<<"Estatura"<<setw(30)<<"Estado de selección"<<setw(15)<<endl;
	cout<<"_________________________________________""_____________________ \n";
	for (int i=0; i<n; i++){
	cout<<setw(10)<<j[i].nombre<<setw(15);
	cout<<j[i].estatura<<setw(25);
	if(estatura>=190){
    cout<<"          El jugador ha sido selecionado";
	};
	cout<<"          El jugador no ha sido selecionado" <<endl;
	

};

};
int main(){
	struct jugador j[100];
	int n;
	double estatura;
    cout<<"Numero de jugadores: "; cin>>n; 
    ingresa(j,n);
    imprimir(j,n,estatura); cout<<endl;
    cout<<"La cantidad de jugadores que cumplen es:  ";
	return 0;
}



-¿EN LA PARTE ÚLTIMA COMO HAGO PARA SABER CUÁNTAS PERSONAS CUMPLEN EL REQUISITO?
-PRESENTO UN ERROR EN EL CICLO IF, PORQUE CUANDO EJECUTA ME APARECE SIEMPRE <<NO HA SIDO SELECCIONADO>> ¿CÓMO PODRÍA ARREGLARLO?
Agradezco su colaboración.

Saludos.


20-May-2016 23:27
Nacho Cabanes (+83)

El error está en que comparas con 190 el valor el parámetro "estatura", pero no la estatura de cada uno de los jugadores, que sería "j[i].estatura".






(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.)