Uitdaging: Else-instructie
De else-instructie is een essentieel onderdeel voor het beheersen van de programmastroom. Het vult de if-instructie aan door een programma toe te staan verschillende acties te ondernemen, afhankelijk van of een bepaalde voorwaarde true of false is. In wezen maakt het het mogelijk om tussen twee alternatieve paden te kiezen.
else.h
12345678if (condition) { // Code to be executed if the condition is true } else { // Code to be executed if the condition is false }
Als de voorwaarde false is, wordt de code in het eerste blok (het blok na if) overgeslagen, en wordt de code in het tweede blok (het blok na else) uitgevoerd.
Bij uitvoering lijkt het naar verwachting te werken. Omdat de variabele x kleiner is dan 10, geeft de uitvoer correct aan: 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; }
Probeer echter de waarde van een variabele x te wijzigen naar een getal groter dan 10 en voer vervolgens de meegeleverde code opnieuw uit. Zoals je kunt zien, zijn er twee verschillende berichten: één die aangeeft dat X is greater than 10, en een andere die specificeert dat X is not greater than 10.
Het belangrijkste om te begrijpen is dat de tweede std::cout-instructie geen deel uitmaakt van het if-blok; deze wordt altijd onvoorwaardelijk uitgevoerd na het if-blok, waardoor beide berichten worden afgedrukt. Uiteraard moet dit worden gecorrigeerd en kan dit probleem worden opgelost door het gebruik van het else-trefwoord.
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; } }
Nu werkt alles zoals verwacht en slechts één van de twee instructies zal worden uitgevoerd, afhankelijk van de waarde van x.
Opmerking
Het sleutelwoord
elsekan gevolgd worden door elke instructie, inclusief een andereif-blok, en deze keten kan indien nodig worden uitgebreid. Het is echter belangrijk om dit construct niet te veel te gebruiken, omdat het het moeilijk kan maken om de programmastroom te begrijpen.
Swipe to start coding
Je ontwikkelt een verzendcalculator die de verzendkosten bepaalt op basis van het gewicht van een pakket.
- Maak binnen de functie
calculateShippingCosteen variabelecostaan om de verzendprijs op te slaan. - Gebruik conditionele uitspraken om de kosten te bepalen:
- Als
weightKgkleiner dan of gelijk aan 2 is, stel de kosten in op 5.0. - Als
weightKgkleiner dan of gelijk aan 5 is, stel de kosten in op 10.0. - Anders stel de kosten in op 20.0.
- Als
- Geef de
costterug vanuit de functie.
Voorbeeld
calculateShippingCost(1.5) → 5.0
calculateShippingCost(4.0) → 10.0
calculateShippingCost(6.8) → 20.0
Oplossing
solution.cpp
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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
Uitdaging: Else-instructie
Veeg om het menu te tonen
De else-instructie is een essentieel onderdeel voor het beheersen van de programmastroom. Het vult de if-instructie aan door een programma toe te staan verschillende acties te ondernemen, afhankelijk van of een bepaalde voorwaarde true of false is. In wezen maakt het het mogelijk om tussen twee alternatieve paden te kiezen.
else.h
12345678if (condition) { // Code to be executed if the condition is true } else { // Code to be executed if the condition is false }
Als de voorwaarde false is, wordt de code in het eerste blok (het blok na if) overgeslagen, en wordt de code in het tweede blok (het blok na else) uitgevoerd.
Bij uitvoering lijkt het naar verwachting te werken. Omdat de variabele x kleiner is dan 10, geeft de uitvoer correct aan: 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; }
Probeer echter de waarde van een variabele x te wijzigen naar een getal groter dan 10 en voer vervolgens de meegeleverde code opnieuw uit. Zoals je kunt zien, zijn er twee verschillende berichten: één die aangeeft dat X is greater than 10, en een andere die specificeert dat X is not greater than 10.
Het belangrijkste om te begrijpen is dat de tweede std::cout-instructie geen deel uitmaakt van het if-blok; deze wordt altijd onvoorwaardelijk uitgevoerd na het if-blok, waardoor beide berichten worden afgedrukt. Uiteraard moet dit worden gecorrigeerd en kan dit probleem worden opgelost door het gebruik van het else-trefwoord.
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; } }
Nu werkt alles zoals verwacht en slechts één van de twee instructies zal worden uitgevoerd, afhankelijk van de waarde van x.
Opmerking
Het sleutelwoord
elsekan gevolgd worden door elke instructie, inclusief een andereif-blok, en deze keten kan indien nodig worden uitgebreid. Het is echter belangrijk om dit construct niet te veel te gebruiken, omdat het het moeilijk kan maken om de programmastroom te begrijpen.
Swipe to start coding
Je ontwikkelt een verzendcalculator die de verzendkosten bepaalt op basis van het gewicht van een pakket.
- Maak binnen de functie
calculateShippingCosteen variabelecostaan om de verzendprijs op te slaan. - Gebruik conditionele uitspraken om de kosten te bepalen:
- Als
weightKgkleiner dan of gelijk aan 2 is, stel de kosten in op 5.0. - Als
weightKgkleiner dan of gelijk aan 5 is, stel de kosten in op 10.0. - Anders stel de kosten in op 20.0.
- Als
- Geef de
costterug vanuit de functie.
Voorbeeld
calculateShippingCost(1.5) → 5.0
calculateShippingCost(4.0) → 10.0
calculateShippingCost(6.8) → 20.0
Oplossing
solution.cpp
Bedankt voor je feedback!
single