Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Haaste: Ternäärinen Operaattori | Edistyneet Aiheet
C++-Ehtolauseet

bookHaaste: Ternäärinen Operaattori

Ternäärinen operaattori on tehokas työkalu, jota käytetään usein nopeiden päätösten tekemiseen koodissa ja joka voi parantaa koodin luettavuutta, kun sitä käytetään oikein.

ternary.h

ternary.h

copy
1
condition ? expression_if_true : expression_if_false;

Ehto arvioidaan. Jos ehto on true, ennen :-merkkiä oleva lauseke suoritetaan, muuten suoritetaan :-merkin jälkeen oleva lauseke.

Ternäärinen operaattori on käytännössä vaihtoehto if-else-lauseelle, tarjoten koodille luettavuutta ja kätevyyttä.

if_else.h

if_else.h

ternary.h

ternary.h

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

Kuten huomaat, ternäärisen operaattorin käyttö voi säästää kooditilaa sekä parantaa luettavuutta ja tehokkuutta. On kuitenkin tärkeää säilyttää tasapaino ja ylläpitää koodin ylläpidettävyyttä ja ymmärrettävyyttä.

Ternäärisiä operaattoreita voidaan myös ketjuttaa käsittelemään monimutkaisempia ehtoja. Mutta älä sorru käyttämään liikaa ternäärisiä operaattoreita.

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

On todella vaikea ymmärtää, mitä tapahtuu. Siksi on parempi rajoittaa itsensä yhteen ternary-operaattoriin, jossa on enintään yksi sisäkkäisyyden taso kerrallaan.

Tehtävä

Swipe to start coding

Rakennat opiskelijan suorituksen arviointiohjelmaa. Annettuna kolme koetulosta, ohjelman tulee laskea keskiarvo ja määrittää suorituskategoria käyttäen ternääristä operaattoria.

  1. Funktion evaluatePerformance sisällä laske kolmen pistemäärän (score1, score2, score3) keskiarvo lisäämällä ne yhteen ja jakamalla 3.0:lla.
  2. Käytä ternääristä operaattoria määrittääksesi suorituskategorian keskiarvon perusteella:
    • Jos keskiarvo on 85 tai enemmän -> "Excellent".
    • Jos keskiarvo on 70 tai enemmän mutta alle 85 -> "Good".
    • Jos keskiarvo on 50 tai enemmän mutta alle 70 -> "Average".
    • Muussa tapauksessa -> "Fail".
  3. Palauta suorituskategoria funktiosta.

Ratkaisu

solution.cpp

solution.cpp

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 1
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

close

Awesome!

Completion rate improved to 7.69

bookHaaste: Ternäärinen Operaattori

Pyyhkäise näyttääksesi valikon

Ternäärinen operaattori on tehokas työkalu, jota käytetään usein nopeiden päätösten tekemiseen koodissa ja joka voi parantaa koodin luettavuutta, kun sitä käytetään oikein.

ternary.h

ternary.h

copy
1
condition ? expression_if_true : expression_if_false;

Ehto arvioidaan. Jos ehto on true, ennen :-merkkiä oleva lauseke suoritetaan, muuten suoritetaan :-merkin jälkeen oleva lauseke.

Ternäärinen operaattori on käytännössä vaihtoehto if-else-lauseelle, tarjoten koodille luettavuutta ja kätevyyttä.

if_else.h

if_else.h

ternary.h

ternary.h

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

Kuten huomaat, ternäärisen operaattorin käyttö voi säästää kooditilaa sekä parantaa luettavuutta ja tehokkuutta. On kuitenkin tärkeää säilyttää tasapaino ja ylläpitää koodin ylläpidettävyyttä ja ymmärrettävyyttä.

Ternäärisiä operaattoreita voidaan myös ketjuttaa käsittelemään monimutkaisempia ehtoja. Mutta älä sorru käyttämään liikaa ternäärisiä operaattoreita.

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

On todella vaikea ymmärtää, mitä tapahtuu. Siksi on parempi rajoittaa itsensä yhteen ternary-operaattoriin, jossa on enintään yksi sisäkkäisyyden taso kerrallaan.

Tehtävä

Swipe to start coding

Rakennat opiskelijan suorituksen arviointiohjelmaa. Annettuna kolme koetulosta, ohjelman tulee laskea keskiarvo ja määrittää suorituskategoria käyttäen ternääristä operaattoria.

  1. Funktion evaluatePerformance sisällä laske kolmen pistemäärän (score1, score2, score3) keskiarvo lisäämällä ne yhteen ja jakamalla 3.0:lla.
  2. Käytä ternääristä operaattoria määrittääksesi suorituskategorian keskiarvon perusteella:
    • Jos keskiarvo on 85 tai enemmän -> "Excellent".
    • Jos keskiarvo on 70 tai enemmän mutta alle 85 -> "Good".
    • Jos keskiarvo on 50 tai enemmän mutta alle 70 -> "Average".
    • Muussa tapauksessa -> "Fail".
  3. Palauta suorituskategoria funktiosta.

Ratkaisu

solution.cpp

solution.cpp

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 1
single

single

some-alt