Einzelnen Beitrag anzeigen
Ungelesen 13.12.12, 18:12   #14
Your_Conscience
Hinter dir!
 
Registriert seit: Apr 2010
Beiträge: 1.124
Bedankt: 487
Your_Conscience ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von Metal_Rex Beitrag anzeigen
Die Bedingungen in der Klammer versteh ich nicht so ganz.
Code:
(int i = 11; i >= 0; i--)
"int i = 11;" bedeutet, dass die Variable i als int deklariert und mit 11 initialisiert wird
"i >= 0;" die Schleife läuft so lange, wie i größer oder gleich 0 ist, erst wenn i < 0 bricht sie ab
"i--" ist das Gleiche wie "i = i - 1", dadurch wird vom i bei jeden Schleifendurchlauf 1 subtrahiert, i bekommt also die Werte 11, 10, 9, ...


Zitat:
Zitat von Metal_Rex Beitrag anzeigen
Code:
int i;
(i = 11; i >= 0; i--)
wäre das selbe?
Nicht ganz.
Wird die Variable vor der Schleife deklariert, ist sie dem Programm auch noch nach dieser bekannt. Beim obigen Beispiel ist sie nur in der Schleife bekannt.
In diesem Programm macht es von der Funktion her aber keinen Unterschied.


Zitat:
Zitat von Metal_Rex Beitrag anzeigen
die Verbindung zwischen dollars und Zahlen ist mir irgendwie unerklärlich. Woher weiß jetzt das Programm, dass es 2€ nehmen muss statt 0,50€?
Schau mal ganz oben im Code, da habe ich ein Array deklariert.
Code:
double dollars[12] = {0.01, 0.05, 0.10, 0.25, 0.50, 1,		//Münzen
			2, 5, 10, 20, 50, 100} ;		//Scheine, keine 1$ Note
Das erstellt 12 Variablen mit dem Namen dollars, die über einen Index [] angesprochen werden.
Also: dollars[0], dollars[1], ..., dollars[11]
Diese Variablen erhalten die Werte in den Klammer dahinter in der angegebenen Reihenfolge.
Das ergibt:
dollars[0] = 0.01
dollars[1] = 0.05
...
dollars[11] = 100

Wäre i z.B. 5 und man würde auf dollars[i] zugreifen, würde man das 6. dollars ansprechen, also den Wert 1. Das "erste" Element ist das "nullte".

Da i am Anfang 11 ist, wird in der Schleife zuerst überprüft, ob played >= 100 ist.
Your_Conscience ist offline   Mit Zitat antworten