Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Utfordring: Ternær Operator | Avanserte Emner
C++ Betingede Setninger

bookUtfordring: Ternær Operator

Ternær-operatoren er et kraftig verktøy som ofte brukes for å ta raske beslutninger i koden din, og kan i stor grad forbedre lesbarheten når den brukes riktig.

ternary.h

ternary.h

copy
1
condition ? expression_if_true : expression_if_false;

Betingelsen evalueres. Hvis betingelsen er true, utføres uttrykket før :, ellers utføres uttrykket etter :.

Ternær-operatoren er i hovedsak et alternativ til if-else-setningen, og gir koden lesbarhet og bekvemmelighet.

if_else.h

if_else.h

ternary.h

ternary.h

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

Som du kan se, kan bruk av ternary-operatoren spare plass i koden og forbedre lesbarhet og effektivitet. Det er imidlertid viktig å opprettholde en balanse og sikre god vedlikeholdbarhet og forståelighet i koden.

Ternary-operatorer kan også nestes for å håndtere mer komplekse betingelser. Men unngå å falle i en felle full av ternary-operatorer.

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"));

Det er veldig vanskelig å forstå hva som skjer. Derfor er det bedre å begrense seg til én ternær operator, med maksimalt ett nivå av nøsting om gangen.

Oppgave

Swipe to start coding

Du utvikler en studentprestasjonsevaluator. Gitt tre prøveresultater skal programmet beregne gjennomsnittskarakteren og bestemme prestasjonskategori ved hjelp av en ternær operator.

  1. Inne i funksjonen evaluatePerformance, beregn gjennomsnittet av de tre poengene (score1, score2, score3) ved å legge dem sammen og dele på 3.0.
  2. Bruk en ternær operator for å bestemme prestasjonskategori basert på gjennomsnittet:
    • Hvis gjennomsnittet er 85 eller høyere -> "Excellent".
    • Hvis gjennomsnittet er 70 eller høyere, men mindre enn 85 -> "Good".
    • Hvis gjennomsnittet er 50 eller høyere, men mindre enn 70 -> "Average".
    • Ellers -> "Fail".
  3. Returner prestasjonskategorien fra funksjonen.

Eksempel

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

Løsning

solution.cpp

solution.cpp

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 1
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you give an example of a ternary operator in code?

What are some common mistakes when using ternary operators?

When should I use an if-else statement instead of a ternary operator?

close

Awesome!

Completion rate improved to 7.69

bookUtfordring: Ternær Operator

Sveip for å vise menyen

Ternær-operatoren er et kraftig verktøy som ofte brukes for å ta raske beslutninger i koden din, og kan i stor grad forbedre lesbarheten når den brukes riktig.

ternary.h

ternary.h

copy
1
condition ? expression_if_true : expression_if_false;

Betingelsen evalueres. Hvis betingelsen er true, utføres uttrykket før :, ellers utføres uttrykket etter :.

Ternær-operatoren er i hovedsak et alternativ til if-else-setningen, og gir koden lesbarhet og bekvemmelighet.

if_else.h

if_else.h

ternary.h

ternary.h

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

Som du kan se, kan bruk av ternary-operatoren spare plass i koden og forbedre lesbarhet og effektivitet. Det er imidlertid viktig å opprettholde en balanse og sikre god vedlikeholdbarhet og forståelighet i koden.

Ternary-operatorer kan også nestes for å håndtere mer komplekse betingelser. Men unngå å falle i en felle full av ternary-operatorer.

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"));

Det er veldig vanskelig å forstå hva som skjer. Derfor er det bedre å begrense seg til én ternær operator, med maksimalt ett nivå av nøsting om gangen.

Oppgave

Swipe to start coding

Du utvikler en studentprestasjonsevaluator. Gitt tre prøveresultater skal programmet beregne gjennomsnittskarakteren og bestemme prestasjonskategori ved hjelp av en ternær operator.

  1. Inne i funksjonen evaluatePerformance, beregn gjennomsnittet av de tre poengene (score1, score2, score3) ved å legge dem sammen og dele på 3.0.
  2. Bruk en ternær operator for å bestemme prestasjonskategori basert på gjennomsnittet:
    • Hvis gjennomsnittet er 85 eller høyere -> "Excellent".
    • Hvis gjennomsnittet er 70 eller høyere, men mindre enn 85 -> "Good".
    • Hvis gjennomsnittet er 50 eller høyere, men mindre enn 70 -> "Average".
    • Ellers -> "Fail".
  3. Returner prestasjonskategorien fra funksjonen.

Eksempel

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

Løsning

solution.cpp

solution.cpp

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 1
single

single

some-alt