Der Logikoperator AND


Wir wollen nun betrachten, wie die Logikoperatoren Boolesche Ausdrücke in C++ miteinander kombinieren. Es folgt ein Beispiel, ADVENAND.CPP, das einen Logikoperator verwendet, um dem Abenteuerspiel aus dem ADSWITCH-Beispiel etwas mehr Glanz zu verleihen. Wie werden an den Koordinaten (7,11) ein Schatz vergraben un beobachten, ob der Spieler diesen Schatz finden kann.

// advenand.cpp // Veranschaulicht AND-Logikoperator #include <iostream.h> #include <process.h> // Für die Funktion exit() #include <conio.h> // Für die Funktion getche() void main() { char dir = 'a'; int x = 10, y = 10; while(dir != '\r') { cout << "\nIhre Position ist " << x << ", " << y; cout << "\nDrücken Sie eine Richtungstaste (n, s, o, w): "; dir = getche(); // Richtung einlesen switch(dir) { case 'n': y--; break; // Koordinaten aktualisieren case 's': y++; break; case 'o': x++; break; case 'w': x--; break; } if(x==7 && y==11) // Wenn x gleich 7 und y gleich 11 ist { cout << "\nSie haben den Schatz gefunden exit(0); // Programm beenden } } // Ende der switch-Anweisung } // Ende der Funktion

Beachten Sie, daß um die Vergleichsausdrücke keine runden Klammern notwendig sind:

( (x==7) && (y==11) ) // Innere runde Klammern nicht notwendig

Dies ist der Fall, weil die Vergleichsoperatoren einen höheren Rang in der Bewertungsreihenfolge haben als die Logikoperatoren.

Es folgt eine kurze E/A-Operator, wenn der Anwender die gewissen Koordinaten erreicht:

Ihre Position ist 7, 10
Drücken Sie eine Richtungstaste (n, s, o, w): s
Sie haben den Schatz gefunden!

Es gibt in C++ drei Logikoperatoren:

Operator Wirkung
&& Logisches AND
|| Logisches OR
! Logisches NOT


23