Datentyp bool in C++

In C++ wird der Datentyp bool verwendet, um Wahrheitswerte zu speichern. Ein bool-Wert kann nur die beiden Zustände true (wahr) oder false (falsch) annehmen. Intern wird true als 1 und false als 0 gespeichert.

Deklaration und Initialisierung

Ein bool kann folgendermaßen deklariert und initialisiert werden:

#include <iostream>
using namespace std;
 
int main() {
    bool istWahr = true;
    cout << "Der Wert von istWahr: " << istWahr << endl;
    return 0;
}

Wichtige Eigenschaften von bool

Beispiele

1. Einfache boolesche Variable

#include <iostream>
using namespace std;
 
int main() {
    bool istGroesser = (10 > 5);
    cout << "10 ist größer als 5: " << istGroesser << endl;
    return 0;
}

2. Boolescher Wert in einer Bedingung

#include <iostream>
using namespace std;
 
int main() {
    int zahl;
    cout << "Geben Sie eine Zahl ein: ";
    cin >> zahl;
 
    bool istPositiv = (zahl > 0);
    if (istPositiv) {
        cout << "Die Zahl ist positiv." << endl;
    } else {
        cout << "Die Zahl ist nicht positiv." << endl;
    }
    return 0;
}

3. Wahrheitswerte mit logischen Operatoren

#include <iostream>
using namespace std;
 
int main() {
    bool a = true;
    bool b = false;
 
    cout << "a UND b: " << (a && b) << endl;
    cout << "a ODER b: " << (a || b) << endl;
    cout << "NICHT a: " << (!a) << endl;
 
    return 0;
}

4. Schulfrei?

bool istWochenende = true;
bool istFerien = false;
 
if (istWochenende || istFerien) {
    cout << "Du hast frei!" << endl;
} else {
    cout << "Es ist ein normaler Schultag." << endl;
}

5. Gerade Zahl - Schleife

bool korrekt = false;
int zahl;
 
while (!korrekt) {
    cout << "Gib eine gerade Zahl ein: ";
    cin >> zahl;
    if (zahl % 2 == 0) korrekt = true;
}
cout << "Danke! Die Zahl ist gerade." << endl;

Aufgaben

Beginner

1. Zahl positiv oder negativ

Schreibe ein Programm, das prüft, ob eine eingegebene Zahl positiv ist.

2. Gerade oder ungerade

Schreibe ein Programm, das überprüft, ob eine eingegebene Zahl gerade ist.

3. Volljährigkeit prüfen

Schreibe ein Programm, das basierend auf einer Altersangabe ausgibt, ob eine Person volljährig ist.

4. Login-System

Schreibe ein Programm, das ein Passwort überprüft und true oder false zurückgibt.

5. Wahrheitswerte kombinieren

Schreibe ein Programm, das zwei boolesche Werte einliest und deren UND-, ODER- und NICHT-Operationen ausgibt.

Intermediate

6. Passwortprüfung

Schreibe ein Programm, das den Benutzer nach einem Passwort fragt. Falls das eingegebene Passwort Geheim123 ist, wird die Meldung „Zugang gewährt!“ ausgegeben, ansonsten „Falsches Passwort!“. Das Programm soll sich wiederholen, bis das richtige Passwort eingegeben wurde.

7. Dreiecksprüfung

Der Benutzer gibt drei Seitenlängen eines Dreiecks ein. Das Programm soll überprüfen, ob ein gültiges Dreieck vorliegt (die Summe jeder zwei Seiten muss größer als die dritte Seite sein). Falls ja, soll die Meldung „Gültiges Dreieck“ ausgegeben werden, andernfalls „Ungültiges Dreieck“.

Advanced

8. Primzahlprüfung

Der Benutzer gibt eine Zahl ein, und das Programm prüft, ob sie eine Primzahl ist. Eine Primzahl ist nur durch 1 und sich selbst teilbar. Falls die Zahl prim ist, soll „Primzahl“ ausgegeben werden, sonst „Keine Primzahl“.

9. Benutzeranmeldung mit Sperrfunktion

Erstelle ein Programm mit einer Benutzeranmeldung:

  1. Der Benutzer hat drei Versuche, um das Passwort Login123 korrekt einzugeben.
  2. Wenn das Passwort richtig ist, wird „Login erfolgreich“ ausgegeben.
  3. Nach drei falschen Eingaben wird der Zugang gesperrt und „Zugang gesperrt“ ausgegeben.

10. Ampelsteuerung mit mehreren Bedingungen

Programmiere eine einfache Ampelsteuerung mit bool-Variablen (istRot, istGelb, istGrün).

  1. Die Ampel durchläuft automatisch die Zustände Rot → Rot-Gelb → Grün → Gelb → Rot.
  2. Das Programm soll in einer Schleife laufen und bei der Eingabe von q stoppen.