Warm geht das nicht
-
#include <iostream> using namespace std; int bs (); int bonus = 500; int main () { int punkte = 1000; punkte = bs(); cout << punkte; } int bs () { int punkte; punkte += bonus; return punkte; }
-
Weil das nicht C ist.
-
Dann warte bis es Winter wird.
-
Leute bitte, es steht genau so in dem buch C++ für Spieleprogrammierer. Ist denn das Buch fehlerhaft oder was
-
Die bs interne punkte-Variable ist nicht initialisiert, besitzt also einen zufälligen Wert zu dem du bonus addierst.
Heraus kommt ein zufälliger Wert, also Müll.
-
Karotte. schrieb:
Leute bitte, es steht genau so in dem buch C++ für Spieleprogrammierer. Ist denn das Buch fehlerhaft oder was
Fällt dir was auf?
-
Karotte. schrieb:
Leute bitte, es steht genau so in dem buch C++ für Spieleprogrammierer. Ist denn das Buch fehlerhaft oder was
Nein, es steht nicht so in dem Buch.
So steht es in dem Buch:int berechnePunkte () { int Punkte; cout << "Erreichte Punkte: "; cin >> Punkte; Punkte += Bonus; return Punkte; }
-
Großartig, so lernt der angehende Spieleprogrammierer gleich die so wichtige Trennung von Logik und Darstellung … not.
-
Vielleicht willste sowas.
#include <iostream> using namespace std; int bs (int pu); int bonus = 500; int main () { int punkte = 1000; punkte = bs(punkte); cout << punkte; } int bs (int pu) { int punkte=pu; punkte += bonus; return punkte; }
oder
#include <iostream> using namespace std; int bonus = 500; void bs (int* zeigerAufPunkte) { *zeigerAufPunkte += bonus; } int main () { int punkte = 1000; bs(&punkte); cout << punkte; }