Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

08.11.2010, 16:27

Kapitel 4.4

1.Ich hab ein proplem mit den funKtionen eigentlich versteh ich alles aber auf einmal stand da statt void int vor der funKtion um das was ich nich versteh Klar zu machen hab ich hier den quelltext

2. und außerdem versteh ich auch nicht was das return punkte zu bedeuten hat









// C++ für Spieleprogrammierer
// Listing 4.3
// Rückgabewert, globale und lokale Variablen
//
#include

using namespace std;

int berechnePunkte (); // Prototyp
int Bonus = 500;

// Hauptprogramm
//
int main ()
{
// Variablen
//
int Punkte;

Punkte = berechnePunkte (); // Funktion aufrufen

cout << "Punkte: " << Punkte << endl;
cout << "Davon Bonuspunkte: " << Bonus << endl;

return 0;
}

// berechnePunkte
//
int berechnePunkte ()
{
int Punkte;

cout << "Erreichte Punkte: ";
cin >> Punkte;

Punkte += Bonus;

return Punkte;
}

2

08.11.2010, 16:36

Funktionen haben in der Regel einen Rückgabewert. 'void' bedeutet in dem Fall soviel wie 'leer', womit ausgedrückt wird, dass diese Funktion eben keinen Rückgabewert besitzt. Statt 'void' wird bei 'berechnePunkte' nun 'int' angegeben, was, wie Du ja weißt, ein Ganzzahlwert ist. Damit geben wir der Funktion quasi bekannt, welcher Datentyp zurückgegeben wird (Du könntest das auch in float oder double ändern).

Wenn du die Funktion 'berechnePunkte' jetzt aufrufst, wird der Code dort ausgeführt. Ganz am Schluss steht 'return Punkte' - das bedeutet, dass Du an dieser Stelle den Wert der Variablen 'Punkte' zurück gibst.

In der main-Funktion steht ja auch:

C-/C++-Quelltext

1
Punkte = berechnePunkte();


Das bedeutet, dass der Variablen 'Punkte', der Wert zugewiesen wird, den 'berechnePunkte' zurückgibt.
In der main-Funktion hast du ja bereits ein 'return 0'. Hier wird eben immer 0 zurückgegeben. Das steht normalerweise dafür, dass die Funktion ohne Probleme durchgelaufen ist.

3

08.11.2010, 16:45

also das programm hat die punkte jetzt ausgerechnet und weil die variable punkte eig. nur in der funktion gültig ist übergeb ich die ausgerechnete rechnung die mit dem zwischenwert (punkte) gespeichert ist an die variable punkte in der main funktion weiter

stimmt das so ?

und jetzt hab ich noch eine 2. frage Müssen die beiden variablen punkte immer gleich heissen?

4

08.11.2010, 16:59

Ja, das stimmt so.

Nein, die müssen nicht immer gleich heißen. ;)

Gruß
SaRu_

PS: Willkommen im Forum.

Werbeanzeige