andaba y dejó de hacerlo
Publicado por carlos (1 intervención) el 10/09/2020 04:46:10
Hola 2
... ya encontré el error: era en el if para determinar el mayor número y la posición. No encontré cómo borrar el post. Gracias igual!.
era:
Hola!. Debe haber algo de variables no refrescadas luego de ejecuciones sucesivas o algo así (que desconozco, sólo conjeturo), porque este ejercicio funcionaba y dejó de hacerlo. No encuentro porqué. ¿Alguno podrá ayudarme?.
¡Muchas gracias!.

era:
1
if(atle[i].medalla>cantimeda){cantimeda=atle[i].medalla;bande=i;}
Hola!. Debe haber algo de variables no refrescadas luego de ejecuciones sucesivas o algo así (que desconozco, sólo conjeturo), porque este ejercicio funcionaba y dejó de hacerlo. No encuentro porqué. ¿Alguno podrá ayudarme?.
¡Muchas gracias!.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*arreglo de estructura atleta de n elementos, campos nombre, país, medallas y
devuelva país del que tiene mayor número de medallas */
#include<iostream>
#include<stdlib.h>
#include<locale.h>
using namespace std;
//fflush(stdin); intenté con esto, pero me dio error
struct atleta{
char nombre[20];
char pais[20];
int medalla;
}atle[100];
int main(){
int i,cant,cantimeda=0,bande=0;
setlocale(LC_ALL,"spanish");
cout<<"\ncantidad de atletas: ";cin>>cant;
system("cls");
for(i=0;i<cant;i++){
fflush(stdin);
cout<<"nombre "<<i+1<<" : "<<"\t";cin.getline(atle[i].nombre,20,'\n');
cout<<"país "<<i+1<<" : "<<"\t";cin.getline(atle[i].pais,20,'\n');
cout<<"medallas "<<i+1<<" : "<<"\t";cin>>atle[i].medalla;
if(atle[i].medalla>cantimeda){bande=atle[i].medalla;}
cout<<"\n"<<endl;
}
cout<<"\n\nil capo di tutti capi es "<<atle[bande].nombre<<" de "<<atle[bande].pais<<" con "<<atle[bande].medalla<<" medallas"<<endl;
cout<<"\n"<<endl;
system("pause");
return 0;
}
Valora esta pregunta


0