Beachten Sie, daß um die Vergleichsausdrücke keine runden Klammern notwendig sind:// 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
( (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 |