erhalte bei der ausgabe des besten vereins nur sinnlose zahlenfolgen
-
wär echt nett, wenn sich das jemand anschaun könnte. Danke schon mal im voraus:)
#include <iostream> using namespace std; struct verein{char *vname;int spiele;int gew;}; void suche_besten(verein *liga,int anz,verein &bester) { bester.gew=liga[0].gew; for(int i=0;i<anz;i++) { if(bester.gew<liga[i].gew){ bester = liga[i]; } } } int main() { int anz;verein bester; cout<<"Anzahl: "<<endl;cin>>anz; verein *liga=new verein[anz]; cout<<"Gib Vereinsname, gesamtanzahl der spiele und die davon gewonnenen spiele ein!!"<<endl; for(int i=0;i<anz;i++) { cin.getline(liga->vname,80);cin.ignore(80,'\0'); cin>>liga->spiele; cin>>liga->gew; } cout<<"Bester Verein: "<<bester.vname<<" "<<bester.spiele<<" "<<bester.gew<<endl; return 0; }
-
In deinem gezeigten Code wird gar nicht nach dem besten Verein gesucht, zumindest gibt es keinen entsprechenden Funktionsaufruf in der Main-Funktion. Das kommt davon, wenn man einen so unleserlichen Code produziert ... *brrr*
Grüssli
-
Deine suche_besten-Funktion ist übrigens fehlerhaft. Betrachte den Fall, dass der erste Verein der beste ist.
-
forever21 schrieb:
wär echt nett, wenn sich das jemand anschaun könnte....
Habe ich gemacht.
forever21 schrieb:
...Danke schon mal im voraus:)
Gern geschehen.
Gruß,
Simon2.
P.S.:
- Wo wird Speicher für die Zeichenketten (verein::vname) reserviert?
- Wo wir der Speicher für die vereine freigegeben? (delete[]
=> Nimm std::string.