Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Ternär Operator | Avancerade Ämnen
C++ Villkorssatser

bookUtmaning: Ternär Operator

Ternära operatorn är ett kraftfullt verktyg som ofta används för att fatta snabba beslut i din kod och kan avsevärt förbättra kodens läsbarhet när den används på rätt sätt.

ternary.h

ternary.h

copy
1
condition ? expression_if_true : expression_if_false;

Villkoret utvärderas. Om villkoret är true körs uttrycket före :, annars körs uttrycket efter :.

Ternära operatorn är i grunden bara ett alternativ till if-else-satsen och ger kod läsbarhet och bekvämlighet.

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 användning av ternär operator spara kodutrymme och förbättra läsbarhet och effektivitet. Det är dock viktigt att behålla en balans och upprätthålla kodens underhållbarhet och förståelighet.

Ternära operatorer kan även nästlas för att hantera mer komplexa villkor. Men undvik att hamna i en fallgrop fylld av ternära 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 är verkligen svårt att förstå vad som händer. Därför är det bättre att begränsa sig till en enda ternär operator, med högst en nivå av nästling åt gången.

Uppgift

Swipe to start coding

Du utvecklar en studentprestandautvärderare. Givet tre provresultat ska programmet beräkna medelvärdet och avgöra prestationskategori med hjälp av en ternär operator.

  1. Inuti funktionen evaluatePerformance, beräkna medelvärdet av de tre resultaten (score1, score2, score3) genom att addera dem och dividera med 3.0.
  2. Använd en ternär operator för att avgöra prestationskategori baserat på medelvärdet:
    • Om medelvärdet är 85 eller högre -> "Excellent".
    • Om medelvärdet är 70 eller högre men mindre än 85 -> "Good".
    • Om medelvärdet är 50 eller högre men mindre än 70 -> "Average".
    • Annars -> "Fail".
  3. Returnera prestationskategorin från funktionen.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 1
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

close

Awesome!

Completion rate improved to 7.69

bookUtmaning: Ternär Operator

Svep för att visa menyn

Ternära operatorn är ett kraftfullt verktyg som ofta används för att fatta snabba beslut i din kod och kan avsevärt förbättra kodens läsbarhet när den används på rätt sätt.

ternary.h

ternary.h

copy
1
condition ? expression_if_true : expression_if_false;

Villkoret utvärderas. Om villkoret är true körs uttrycket före :, annars körs uttrycket efter :.

Ternära operatorn är i grunden bara ett alternativ till if-else-satsen och ger kod läsbarhet och bekvämlighet.

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 användning av ternär operator spara kodutrymme och förbättra läsbarhet och effektivitet. Det är dock viktigt att behålla en balans och upprätthålla kodens underhållbarhet och förståelighet.

Ternära operatorer kan även nästlas för att hantera mer komplexa villkor. Men undvik att hamna i en fallgrop fylld av ternära 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 är verkligen svårt att förstå vad som händer. Därför är det bättre att begränsa sig till en enda ternär operator, med högst en nivå av nästling åt gången.

Uppgift

Swipe to start coding

Du utvecklar en studentprestandautvärderare. Givet tre provresultat ska programmet beräkna medelvärdet och avgöra prestationskategori med hjälp av en ternär operator.

  1. Inuti funktionen evaluatePerformance, beräkna medelvärdet av de tre resultaten (score1, score2, score3) genom att addera dem och dividera med 3.0.
  2. Använd en ternär operator för att avgöra prestationskategori baserat på medelvärdet:
    • Om medelvärdet är 85 eller högre -> "Excellent".
    • Om medelvärdet är 70 eller högre men mindre än 85 -> "Good".
    • Om medelvärdet är 50 eller högre men mindre än 70 -> "Average".
    • Annars -> "Fail".
  3. Returnera prestationskategorin från funktionen.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 1
single

single

some-alt