====== 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
using namespace std;
int main() {
bool istWahr = true;
cout << "Der Wert von istWahr: " << istWahr << endl;
return 0;
}
===== Wichtige Eigenschaften von bool =====
* Ein ''bool'' speichert entweder ''true'' oder ''false''.
* ''true'' wird als ''1'' und ''false'' als ''0'' dargestellt.
* ''bool''-Werte werden oft in Bedingungen (''if'', ''while'') verwendet.
* Jede Zahl ungleich ''0'' wird als ''true'' interpretiert.
===== Beispiele =====
**1. Einfache boolesche Variable**
#include
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
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
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:
- Der Benutzer hat **drei Versuche**, um das Passwort ''Login123'' korrekt einzugeben.
- Wenn das Passwort richtig ist, wird **"Login erfolgreich"** ausgegeben.
- 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).
- Die Ampel durchläuft automatisch die Zustände **Rot → Rot-Gelb → Grün → Gelb → Rot**.
- Das Programm soll in einer Schleife laufen und bei der Eingabe von ''q'' stoppen.