Dienstag, 14. August 2012

Bedingungen in C++

Das A und O eines jeden Programmes ist, auf verschiedene Situationen unterschiedlich zu reagieren. Ein Beispiel wäre: Wenn die Esc-Taste gedrückt wurde wird das Programm beendet. In C++ gibt es dafür verschiedene Möglichkeiten, die sehr einfach zu verstehen sind. Fangen wir einfach mal an.

Die if-Bedingung

Die if-Bedingung wird in der Regel immer dann benutzt, wenn man bestimmte Werte oder Operanden miteinander vergleichen will. Im folgenden Code sieht man, wie man diese in ein Programm einbaut.

01: #include 
02: 
03: using namespace std;
04:
05: int main()
06: {
07:     int Highscore = 500;  
08:     int Score     = 0;    
09:
10:     cout << "Bitte gib deine erreichte Punktzahl an: ";
11:     cin >> Score;
12:
13:     if (Score > Highscore)
14:     {
15:         cout << "Sie haben einen neuen Highscore erreicht \n";
16:         Highscore = Score;
17:     }
18:
19:     return 0;
20: }

Dieses kleine Programm prüft, ob man in einem Spiel einen neuen Highscore erreicht hat. Der erreichte Score muss zwar noch selbst eingegeben werden, was in einem richtigen Spiel natürlich nicht der Fall ist, jedoch geht es hier in erster Linie um die if-Bedingung.
Diese prüft in Zeile 13, ob der erreichte Score größer ist als der aktuelle Highscore. Hier können alle boolschen Operatoren ( ==, !=, <, >, <=, >= ) verwendet werden, um den gewünschten Vergleich durchzuführen. Natürlich kann man auch einen geringeren oder gar die selbe Punktzahl wie der Highscore erzielen. Dazu kann man sich 2 weitere if-Bedingungen erstellen, die die gewünschten Vergleiche durchführen, oder man benutzt die else-Bedingung.

Die else-Bedingung

Eine else-Bedingung wird immer zusammen mit einer if-Anweisung verwendet. Sie bedeutet soviel, wie anderenfalls oder ansonsten und kann folgendermaßen verwendet werden.

01: #include 
02: 
03: using namespace std;
04:
05: int main()
06: {
07:     int Highscore = 500;  
08:     int Score     = 0;    
09:
10:     cout << "Bitte gib deine erreichte Punktzahl an: ";
11:     cin >> Score;
12:
13:     if (Score > Highscore)
14:     {
15:         cout << "Sie haben einen neuen Highscore erreicht \n";
16:         Highscore = Score;
17:     }
18:     else if (Score == Highscore)
19:     {
20:         cout << "Sie sind gleich auf mit dem Highscore \n";
21:     }
22:     else
21:     {
22:         cout << "Sie haben zu wenig Punkte für den Highscore erreicht \n";
23:     }
24:
25:     return 0;
26: }

Hier wird, wie oben beschrieben mit Hilfe der else-Anweisung geprüft, ob die erreichte Punktzahl größer, gleich oder geringer als der Highscore ist. Ihr fragt euch sicher, warum hinter dem letzten else kein Vergleich durchgeführt wird. Nunja, da ein Wert nur größer, gleich, oder kleiner als ein anderer Wert sein kann, können wir uns Tipparbeit sparen und dem Compiler durch das alleinstehende else sagen, dass für alle anderen Fälle ( also in diesem Fall nur kleinere Werte, da wir größer und gleich ja schon getestet haben ) der darunterstehende Code ausgeführt werden soll.

Keine Kommentare:

Kommentar veröffentlichen