Herausforderung: Else-Anweisung
Die else-Anweisung ist ein wesentliches Element zur Steuerung des Programmablaufs. Sie ergänzt die if-Anweisung, indem sie es einem Programm ermöglicht, unterschiedliche Aktionen auszuführen, je nachdem, ob eine bestimmte Bedingung true oder false ist. Im Wesentlichen erlaubt sie dem Programm, zwischen zwei alternativen Pfaden zu wählen.
else.h
12345678if (condition) { // Code to be executed if the condition is true } else { // Code to be executed if the condition is false }
Wenn die Bedingung false ist, wird der Code im ersten Block (dem nach if) übersprungen, und der Code im zweiten Block (dem nach else) ausgeführt.
Bei der Ausführung scheint das Programm wie erwartet zu funktionieren. Da die Variable x kleiner als 10 ist, gibt die Ausgabe korrekt an: X is not greater than 10.
main.cpp
12345678910111213#include <iostream> int main() { int x = 5; if (x > 10) { std::cout << "X is greater than 10" << std::endl; } std::cout << "X is not greater than 10" << std::endl; }
Versuchen Sie jedoch, den Wert der Variablen x auf eine Zahl größer als 10 zu ändern, und führen Sie anschließend den bereitgestellten Codeausschnitt erneut aus. Wie Sie sehen, gibt es zwei unterschiedliche Meldungen: eine zeigt an, dass X is greater than 10, und die andere gibt an, dass X is not greater than 10.
Wichtig zu verstehen ist, dass die zweite std::cout-Anweisung nicht Teil des if-Blocks ist, sondern immer bedingungslos nach dem if-Block ausgeführt wird, sodass beide Meldungen ausgegeben werden. Natürlich muss dies behoben werden, und dieses Problem kann durch die Verwendung des Schlüsselworts else gelöst werden.
main.cpp
123456789101112131415#include <iostream> int main() { int x = 5; if (x > 10) { std::cout << "X is greater than 10" << std::endl; } else { std::cout << "X is not greater than 10" << std::endl; } }
Nun funktioniert alles wie erwartet und nur eine von zwei Anweisungen wird abhängig vom Wert von x ausgeführt.
Hinweis
Das Schlüsselwort
elsekann von jeder Anweisung gefolgt werden, einschließlich eines weiterenif-Blocks. Diese Kette kann nach Bedarf erweitert werden, jedoch sollte diese Konstruktion nicht übermäßig verwendet werden, da dies das Verständnis des Programmablaufs erschweren kann.
Swipe to start coding
Sie entwickeln einen Versandrechner, der die Lieferkosten basierend auf dem Gewicht eines Pakets bestimmt.
- Legen Sie innerhalb der Funktion
calculateShippingCosteine Variablecostan, um den Versandpreis zu speichern. - Verwenden Sie bedingte Anweisungen, um die Kosten zu bestimmen:
- Wenn
weightKgkleiner oder gleich 2 ist, setzen Sie die Kosten auf 5.0. - Wenn
weightKgkleiner oder gleich 5 ist, setzen Sie die Kosten auf 10.0. - Andernfalls setzen Sie die Kosten auf 20.0.
- Wenn
- Geben Sie die Variable
costaus der Funktion zurück.
Beispiel
calculateShippingCost(1.5) → 5.0
calculateShippingCost(4.0) → 10.0
calculateShippingCost(6.8) → 20.0
Lösung
solution.cpp
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you show an example of how to use `else if` in this context?
What happens if I omit the `else` statement entirely?
Can you explain why overusing `else` and `else if` can make code harder to read?
Awesome!
Completion rate improved to 7.69
Herausforderung: Else-Anweisung
Swipe um das Menü anzuzeigen
Die else-Anweisung ist ein wesentliches Element zur Steuerung des Programmablaufs. Sie ergänzt die if-Anweisung, indem sie es einem Programm ermöglicht, unterschiedliche Aktionen auszuführen, je nachdem, ob eine bestimmte Bedingung true oder false ist. Im Wesentlichen erlaubt sie dem Programm, zwischen zwei alternativen Pfaden zu wählen.
else.h
12345678if (condition) { // Code to be executed if the condition is true } else { // Code to be executed if the condition is false }
Wenn die Bedingung false ist, wird der Code im ersten Block (dem nach if) übersprungen, und der Code im zweiten Block (dem nach else) ausgeführt.
Bei der Ausführung scheint das Programm wie erwartet zu funktionieren. Da die Variable x kleiner als 10 ist, gibt die Ausgabe korrekt an: X is not greater than 10.
main.cpp
12345678910111213#include <iostream> int main() { int x = 5; if (x > 10) { std::cout << "X is greater than 10" << std::endl; } std::cout << "X is not greater than 10" << std::endl; }
Versuchen Sie jedoch, den Wert der Variablen x auf eine Zahl größer als 10 zu ändern, und führen Sie anschließend den bereitgestellten Codeausschnitt erneut aus. Wie Sie sehen, gibt es zwei unterschiedliche Meldungen: eine zeigt an, dass X is greater than 10, und die andere gibt an, dass X is not greater than 10.
Wichtig zu verstehen ist, dass die zweite std::cout-Anweisung nicht Teil des if-Blocks ist, sondern immer bedingungslos nach dem if-Block ausgeführt wird, sodass beide Meldungen ausgegeben werden. Natürlich muss dies behoben werden, und dieses Problem kann durch die Verwendung des Schlüsselworts else gelöst werden.
main.cpp
123456789101112131415#include <iostream> int main() { int x = 5; if (x > 10) { std::cout << "X is greater than 10" << std::endl; } else { std::cout << "X is not greater than 10" << std::endl; } }
Nun funktioniert alles wie erwartet und nur eine von zwei Anweisungen wird abhängig vom Wert von x ausgeführt.
Hinweis
Das Schlüsselwort
elsekann von jeder Anweisung gefolgt werden, einschließlich eines weiterenif-Blocks. Diese Kette kann nach Bedarf erweitert werden, jedoch sollte diese Konstruktion nicht übermäßig verwendet werden, da dies das Verständnis des Programmablaufs erschweren kann.
Swipe to start coding
Sie entwickeln einen Versandrechner, der die Lieferkosten basierend auf dem Gewicht eines Pakets bestimmt.
- Legen Sie innerhalb der Funktion
calculateShippingCosteine Variablecostan, um den Versandpreis zu speichern. - Verwenden Sie bedingte Anweisungen, um die Kosten zu bestimmen:
- Wenn
weightKgkleiner oder gleich 2 ist, setzen Sie die Kosten auf 5.0. - Wenn
weightKgkleiner oder gleich 5 ist, setzen Sie die Kosten auf 10.0. - Andernfalls setzen Sie die Kosten auf 20.0.
- Wenn
- Geben Sie die Variable
costaus der Funktion zurück.
Beispiel
calculateShippingCost(1.5) → 5.0
calculateShippingCost(4.0) → 10.0
calculateShippingCost(6.8) → 20.0
Lösung
solution.cpp
Danke für Ihr Feedback!
single