Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Utfordring: Else-setning | Introduksjon til Betingede Setninger
C++ Betingede Setninger

bookUtfordring: Else-setning

else-setningen er et viktig element for å kontrollere programflyten. Den utfyller if-setningen ved å la et program utføre ulike handlinger avhengig av om en gitt betingelse er true eller false. I hovedsak gjør dette det mulig for programmet å velge mellom to alternative veier.

else.h

else.h

copy
12345678
if (condition) { // Code to be executed if the condition is true } else { // Code to be executed if the condition is false }

Hvis betingelsen er false, blir koden i den første blokken (den som følger etter if) hoppet over, og koden i den andre blokken (den som følger etter else) blir utført.

Når dette kjøres, ser det ut til å fungere som forventet. Siden variabelen x er mindre enn 10, vises følgende utdata: X is not greater than 10.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> int main() { int x = 5; if (x > 10) { std::cout << "X is greater than 10" << std::endl; } std::cout << "X is not greater than 10" << std::endl; }

Prøv å endre verdien til variabelen x til et tall større enn 10, og kjør deretter den gitte kodebiten på nytt. Som du ser, finnes det to ulike meldinger: én som indikerer at X is greater than 10, og en annen som spesifiserer at X is not greater than 10.

Det viktigste å forstå er at den andre std::cout-setningen ikke er en del av if-blokken, den vil alltid bli utført ubetinget etter if-blokken, noe som fører til at begge meldingene skrives ut. Dette må selvfølgelig rettes opp, og dette kan løses ved å bruke nøkkelordet else.

main.cpp

main.cpp

copy
123456789101112131415
#include <iostream> int main() { int x = 5; if (x > 10) { std::cout << "X is greater than 10" << std::endl; } else { std::cout << "X is not greater than 10" << std::endl; } }

Nå fungerer alt som forventet, og kun én av to instruksjoner vil bli utført avhengig av verdien til x.

Note
Merk

Nøkkelordet else kan etterfølges av hvilken som helst setning, inkludert en annen if-blokk, og denne kjeden kan utvides etter behov. Det er imidlertid viktig å ikke overbruke denne konstruksjonen, da det kan gjøre det vanskelig å forstå programflyten.

Oppgave

Swipe to start coding

Du utvikler en fraktkalkulator som beregner leveringskostnaden basert på vekten av en pakke.

  1. Inne i funksjonen calculateShippingCost, opprett en variabel cost for å lagre fraktprisen.
  2. Bruk betingede setninger for å bestemme kostnaden:
    • Hvis weightKg er mindre enn eller lik 2, sett kostnaden til 5.0.
    • Hvis weightKg er mindre enn eller lik 5, sett kostnaden til 10.0.
    • Ellers, sett kostnaden til 20.0.
  3. Returner cost fra funksjonen.

Løsning

solution.cpp

solution.cpp

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 4
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

close

Awesome!

Completion rate improved to 7.69

bookUtfordring: Else-setning

Sveip for å vise menyen

else-setningen er et viktig element for å kontrollere programflyten. Den utfyller if-setningen ved å la et program utføre ulike handlinger avhengig av om en gitt betingelse er true eller false. I hovedsak gjør dette det mulig for programmet å velge mellom to alternative veier.

else.h

else.h

copy
12345678
if (condition) { // Code to be executed if the condition is true } else { // Code to be executed if the condition is false }

Hvis betingelsen er false, blir koden i den første blokken (den som følger etter if) hoppet over, og koden i den andre blokken (den som følger etter else) blir utført.

Når dette kjøres, ser det ut til å fungere som forventet. Siden variabelen x er mindre enn 10, vises følgende utdata: X is not greater than 10.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> int main() { int x = 5; if (x > 10) { std::cout << "X is greater than 10" << std::endl; } std::cout << "X is not greater than 10" << std::endl; }

Prøv å endre verdien til variabelen x til et tall større enn 10, og kjør deretter den gitte kodebiten på nytt. Som du ser, finnes det to ulike meldinger: én som indikerer at X is greater than 10, og en annen som spesifiserer at X is not greater than 10.

Det viktigste å forstå er at den andre std::cout-setningen ikke er en del av if-blokken, den vil alltid bli utført ubetinget etter if-blokken, noe som fører til at begge meldingene skrives ut. Dette må selvfølgelig rettes opp, og dette kan løses ved å bruke nøkkelordet else.

main.cpp

main.cpp

copy
123456789101112131415
#include <iostream> int main() { int x = 5; if (x > 10) { std::cout << "X is greater than 10" << std::endl; } else { std::cout << "X is not greater than 10" << std::endl; } }

Nå fungerer alt som forventet, og kun én av to instruksjoner vil bli utført avhengig av verdien til x.

Note
Merk

Nøkkelordet else kan etterfølges av hvilken som helst setning, inkludert en annen if-blokk, og denne kjeden kan utvides etter behov. Det er imidlertid viktig å ikke overbruke denne konstruksjonen, da det kan gjøre det vanskelig å forstå programflyten.

Oppgave

Swipe to start coding

Du utvikler en fraktkalkulator som beregner leveringskostnaden basert på vekten av en pakke.

  1. Inne i funksjonen calculateShippingCost, opprett en variabel cost for å lagre fraktprisen.
  2. Bruk betingede setninger for å bestemme kostnaden:
    • Hvis weightKg er mindre enn eller lik 2, sett kostnaden til 5.0.
    • Hvis weightKg er mindre enn eller lik 5, sett kostnaden til 10.0.
    • Ellers, sett kostnaden til 20.0.
  3. Returner cost fra funksjonen.

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 1. Kapittel 4
single

single

some-alt