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

bookUdfordring: Ternær Operator

Ternær operatoren er et kraftfuldt værktøj, der ofte bruges til at træffe hurtige beslutninger i din kode og kan i høj grad forbedre kodens læsbarhed, når den anvendes korrekt.

ternary.h

ternary.h

copy
1
condition ? expression_if_true : expression_if_false;

Betingelsen evalueres. Hvis betingelsen er true, udføres udtrykket før :, ellers udføres udtrykket efter :.

Ternær operatoren er i bund og grund blot et alternativ til if-else-sætningen og giver læsbarhed og bekvemmelighed i koden.

if_else.h

if_else.h

ternary.h

ternary.h

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

Som det kan ses, kan brugen af ternary operator spare kodeplads og forbedre læsbarhed og effektivitet. Det er dog vigtigt at opretholde en balance og sikre kode vedligeholdelse og forståelighed.

Ternary operators kan også indlejres for at håndtere mere komplekse betingelser. Men undgå at falde i en fælde fyldt med ternary operators.

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 virkelig svært at forstå, hvad der foregår. Derfor er det bedre at begrænse sig til én ternær operator ad gangen, med maksimalt ét niveau af indlejring på ethvert tidspunkt.

Opgave

Swipe to start coding

Du er ved at udvikle en elevpræstationsvurdering. Givet tre testresultater skal programmet beregne gennemsnittet og bestemme præstationskategorien ved hjælp af en ternary operator.

  1. Inde i funktionen evaluatePerformance beregnes gennemsnittet af de tre resultater (score1, score2, score3) ved at lægge dem sammen og dividere med 3.0.
  2. Brug en ternary operator til at bestemme præstationskategorien baseret på gennemsnittet:
    • Hvis gennemsnittet er 85 eller højere -> "Excellent".
    • Hvis gennemsnittet er 70 eller højere, men mindre end 85 -> "Good".
    • Hvis gennemsnittet er 50 eller højere, men mindre end 70 -> "Average".
    • Ellers -> "Fail".
  3. Returnér præstationskategorien fra funktionen.

Løsning

solution.cpp

solution.cpp

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

close

Awesome!

Completion rate improved to 7.69

bookUdfordring: Ternær Operator

Stryg for at vise menuen

Ternær operatoren er et kraftfuldt værktøj, der ofte bruges til at træffe hurtige beslutninger i din kode og kan i høj grad forbedre kodens læsbarhed, når den anvendes korrekt.

ternary.h

ternary.h

copy
1
condition ? expression_if_true : expression_if_false;

Betingelsen evalueres. Hvis betingelsen er true, udføres udtrykket før :, ellers udføres udtrykket efter :.

Ternær operatoren er i bund og grund blot et alternativ til if-else-sætningen og giver læsbarhed og bekvemmelighed i koden.

if_else.h

if_else.h

ternary.h

ternary.h

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

Som det kan ses, kan brugen af ternary operator spare kodeplads og forbedre læsbarhed og effektivitet. Det er dog vigtigt at opretholde en balance og sikre kode vedligeholdelse og forståelighed.

Ternary operators kan også indlejres for at håndtere mere komplekse betingelser. Men undgå at falde i en fælde fyldt med ternary operators.

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 virkelig svært at forstå, hvad der foregår. Derfor er det bedre at begrænse sig til én ternær operator ad gangen, med maksimalt ét niveau af indlejring på ethvert tidspunkt.

Opgave

Swipe to start coding

Du er ved at udvikle en elevpræstationsvurdering. Givet tre testresultater skal programmet beregne gennemsnittet og bestemme præstationskategorien ved hjælp af en ternary operator.

  1. Inde i funktionen evaluatePerformance beregnes gennemsnittet af de tre resultater (score1, score2, score3) ved at lægge dem sammen og dividere med 3.0.
  2. Brug en ternary operator til at bestemme præstationskategorien baseret på gennemsnittet:
    • Hvis gennemsnittet er 85 eller højere -> "Excellent".
    • Hvis gennemsnittet er 70 eller højere, men mindre end 85 -> "Good".
    • Hvis gennemsnittet er 50 eller højere, men mindre end 70 -> "Average".
    • Ellers -> "Fail".
  3. Returnér præstationskategorien fra funktionen.

Løsning

solution.cpp

solution.cpp

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1
single

single

some-alt