009
06.07.2007, 07:46 Uhr
~WarMal
Gast
|
Igitt, da ist ja alles voller C-Code
Also, die letzten beiden Posts waren mir jetzt schleierhaft, aber wenn Du wirklich nur den prozentualen Gewinn haben willst, brauchst Du absolut keinen Array. Ich gehe mal davon aus, dass info ein struct ist, indem du mehrere Informationen gruppierst?
Du zählst einfach bei jedem Spiel die Spielezahl weiter hoch.
Außerdem musst Du natürlich die Gewinnsumme immer aktualisieren:
C++: |
info.win += aktuellerGewinn
|
So, wenn Du dann den prozentualen Gewinn haben willst, dann machst Du:
C++: |
info.sum = ( double(info.win) / (info.counter*getnvram(el_bet)) ) * 100 ;
|
...was natürlich nur ohne heftige Rundungsfehler funktioniert, wenn info.sum ein double oder float ist und kein Integer.
Wenn Du jetzt aber doch alle Einzelgewinne speichern willst, dann mach das doch einfach wie folgt. Erstmal in deinem struct einen passenden container anlegen. Ich nehme einen Vector, weil man dann bei jedem Spiel die praktische Memberfunktion push_back nutzen kann:
C++: |
vector<int> gewinne;
|
Dann bei jedem Spiel den neuesten Gewinn abspeichern:
C++: |
info.gewinne.push_back(aktuellerGewinn);
|
Dann kannst Du Dir jederzeit die Gewinnstatistik produzieren:
C++: |
double gesamtgewinn = 0; for ( vector<double>::size_type i = 0; i != info.gewinne.size(); i++) { cout << "Spiel Nr. " << (i+1) << "\t Gewinn: " << info.gewinne[i] << endl; gesamtgewinn += info.gewinne[i]; }
// Gewinn in Prozent ausrechnen: double prozentgewinn = 100 * gesamtgewinn / (info.gewinne.size() * einsatz);
// Den Gesamtgewinn anzeigen cout << "Insgesamt haben Sie " << gesamtgewinn << " Euro gewonnen." << endl << "Sie haben also " << prozentgewinn << " Ihres Einsatzes wiedergewonnen." << endl;
|
|