Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Uitdaging: Ternaire Operator | Geavanceerde Onderwerpen
C++ Conditionele Uitspraken

bookUitdaging: Ternaire Operator

De ternaire operator is een krachtig hulpmiddel dat vaak wordt gebruikt om snelle beslissingen in je code te nemen en kan de leesbaarheid van de code aanzienlijk verbeteren wanneer deze op de juiste manier wordt toegepast.

ternary.h

ternary.h

copy
1
condition ? expression_if_true : expression_if_false;

De conditie wordt geëvalueerd. Als de conditie true is, wordt de expressie vóór de : uitgevoerd, anders wordt de expressie na de : uitgevoerd.

De ternaire operator is in wezen slechts een alternatief voor de if-else statement en biedt leesbaarheid en gemak in de code.

if_else.h

if_else.h

ternary.h

ternary.h

copy
123456789
int variable; if (condition) { variable = 25; } else { variable = 10; }

Zoals je kunt zien kan het gebruik van de ternaire operator code besparen en de leesbaarheid en efficiëntie verbeteren. Het is echter belangrijk om een balans te bewaren en de onderhoudbaarheid en begrijpelijkheid van de code te waarborgen.

Ternary operators kunnen ook genest worden om complexere voorwaarden af te handelen. Maar vermijd een valkuil vol met ternaire operatoren.

nested_ternary.h

nested_ternary.h

copy
12345678910
std::string eligibility = age < 18 ? "Too young" : (isStudent ? (hasJob ? "Eligible for student discount" : "Eligible for student perks") : (hasJob ? "Eligible for job-related benefits" : "Not eligible"));

Het is echt moeilijk te begrijpen wat er gebeurt. Het is daarom beter om jezelf te beperken tot één enkele ternaire operator, met maximaal één niveau van geneste structuur tegelijk.

Taak

Swipe to start coding

Je bouwt een studentenprestatie-evaluator. Gegeven drie toetscijfers, moet het programma het gemiddelde cijfer berekenen en de prestatiecategorie bepalen met behulp van een ternaire operator.

  1. Bereken binnen de functie evaluatePerformance het gemiddelde van de drie cijfers (score1, score2, score3) door ze op te tellen en te delen door 3.0.
  2. Gebruik een ternaire operator om de prestatiecategorie te bepalen op basis van het gemiddelde:
    • Als het gemiddelde 85 of hoger is -> "Excellent".
    • Als het gemiddelde 70 of hoger maar lager dan 85 is -> "Good".
    • Als het gemiddelde 50 of hoger maar lager dan 70 is -> "Average".
    • Anders -> "Fail".
  3. Geef de prestatiecategorie terug vanuit de functie.

Voorbeeld

evaluatePerformance(90, 87, 92)"Excellent"
evaluatePerformance(75, 70, 72)"Good"
evaluatePerformance(55, 60, 50)"Average"
evaluatePerformance(40, 45, 30)"Fail"

Oplossing

solution.cpp

solution.cpp

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 1
single

single

Vraag AI

expand

Vraag AI

ChatGPT

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

close

Awesome!

Completion rate improved to 7.69

bookUitdaging: Ternaire Operator

Veeg om het menu te tonen

De ternaire operator is een krachtig hulpmiddel dat vaak wordt gebruikt om snelle beslissingen in je code te nemen en kan de leesbaarheid van de code aanzienlijk verbeteren wanneer deze op de juiste manier wordt toegepast.

ternary.h

ternary.h

copy
1
condition ? expression_if_true : expression_if_false;

De conditie wordt geëvalueerd. Als de conditie true is, wordt de expressie vóór de : uitgevoerd, anders wordt de expressie na de : uitgevoerd.

De ternaire operator is in wezen slechts een alternatief voor de if-else statement en biedt leesbaarheid en gemak in de code.

if_else.h

if_else.h

ternary.h

ternary.h

copy
123456789
int variable; if (condition) { variable = 25; } else { variable = 10; }

Zoals je kunt zien kan het gebruik van de ternaire operator code besparen en de leesbaarheid en efficiëntie verbeteren. Het is echter belangrijk om een balans te bewaren en de onderhoudbaarheid en begrijpelijkheid van de code te waarborgen.

Ternary operators kunnen ook genest worden om complexere voorwaarden af te handelen. Maar vermijd een valkuil vol met ternaire operatoren.

nested_ternary.h

nested_ternary.h

copy
12345678910
std::string eligibility = age < 18 ? "Too young" : (isStudent ? (hasJob ? "Eligible for student discount" : "Eligible for student perks") : (hasJob ? "Eligible for job-related benefits" : "Not eligible"));

Het is echt moeilijk te begrijpen wat er gebeurt. Het is daarom beter om jezelf te beperken tot één enkele ternaire operator, met maximaal één niveau van geneste structuur tegelijk.

Taak

Swipe to start coding

Je bouwt een studentenprestatie-evaluator. Gegeven drie toetscijfers, moet het programma het gemiddelde cijfer berekenen en de prestatiecategorie bepalen met behulp van een ternaire operator.

  1. Bereken binnen de functie evaluatePerformance het gemiddelde van de drie cijfers (score1, score2, score3) door ze op te tellen en te delen door 3.0.
  2. Gebruik een ternaire operator om de prestatiecategorie te bepalen op basis van het gemiddelde:
    • Als het gemiddelde 85 of hoger is -> "Excellent".
    • Als het gemiddelde 70 of hoger maar lager dan 85 is -> "Good".
    • Als het gemiddelde 50 of hoger maar lager dan 70 is -> "Average".
    • Anders -> "Fail".
  3. Geef de prestatiecategorie terug vanuit de functie.

Voorbeeld

evaluatePerformance(90, 87, 92)"Excellent"
evaluatePerformance(75, 70, 72)"Good"
evaluatePerformance(55, 60, 50)"Average"
evaluatePerformance(40, 45, 30)"Fail"

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 3. Hoofdstuk 1
single

single

some-alt