Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Uitdaging: Else-instructie | Introductie tot Conditionele Instructies
C++ Conditionele Uitspraken

bookUitdaging: 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

else.h

copy
12345678
if (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

main.cpp

copy
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

main.cpp

copy
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 else kan gevolgd worden door elke instructie, inclusief een andere if-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.

Taak

Swipe to start coding

Je ontwikkelt een verzendcalculator die de verzendkosten bepaalt op basis van het gewicht van een pakket.

  1. Maak binnen de functie calculateShippingCost een variabele cost aan om de verzendprijs op te slaan.
  2. Gebruik conditionele uitspraken om de kosten te bepalen:
    • Als weightKg kleiner dan of gelijk aan 2 is, stel de kosten in op 5.0.
    • Als weightKg kleiner dan of gelijk aan 5 is, stel de kosten in op 10.0.
    • Anders stel de kosten in op 20.0.
  3. Geef de cost terug vanuit de functie.

Voorbeeld

calculateShippingCost(1.5)5.0
calculateShippingCost(4.0)10.0
calculateShippingCost(6.8)20.0

Oplossing

solution.cpp

solution.cpp

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 4
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 7.69

bookUitdaging: 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

else.h

copy
12345678
if (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

main.cpp

copy
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

main.cpp

copy
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 else kan gevolgd worden door elke instructie, inclusief een andere if-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.

Taak

Swipe to start coding

Je ontwikkelt een verzendcalculator die de verzendkosten bepaalt op basis van het gewicht van een pakket.

  1. Maak binnen de functie calculateShippingCost een variabele cost aan om de verzendprijs op te slaan.
  2. Gebruik conditionele uitspraken om de kosten te bepalen:
    • Als weightKg kleiner dan of gelijk aan 2 is, stel de kosten in op 5.0.
    • Als weightKg kleiner dan of gelijk aan 5 is, stel de kosten in op 10.0.
    • Anders stel de kosten in op 20.0.
  3. Geef de cost terug vanuit de functie.

Voorbeeld

calculateShippingCost(1.5)5.0
calculateShippingCost(4.0)10.0
calculateShippingCost(6.8)20.0

Oplossing

solution.cpp

solution.cpp

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 4
single

single

some-alt