Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Udfordring: Else-sætning | Introduktion til Betingede Udsagn
C++ Betingede Udsagn

bookUdfordring: Else-sætning

else-sætningen er et centralt element i styringen af programflowet. Den supplerer if-sætningen ved at give et program mulighed for at udføre forskellige handlinger afhængigt af, om en given betingelse er true eller false. Grundlæggende gør det det muligt for programmet at vælge mellem to alternative veje.

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, springes koden i det første blok (den der følger efter if) over, og koden i det andet blok (den der følger efter else) udføres.

Når den udføres, ser det ud til at fungere som forventet. Da variablen x er mindre end 10, angiver outputtet korrekt: 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 at ændre værdien af variablen x til et tal større end 10, og kør derefter den givne kode igen. Som du kan se, er der to forskellige beskeder: én der angiver, at X is greater than 10, og en anden der specificerer, at X is not greater than 10.

Det vigtige at forstå er, at den anden std::cout-sætning ikke er en del af if-blokken; den vil altid blive udført ubetinget efter if-blokken, hvilket resulterer i, at begge beskeder bliver udskrevet. Dette skal naturligvis rettes, og problemet kan løses ved at bruge nøgleordet 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; } }

Nu fungerer alt som forventet, og kun én af to instruktioner vil blive udført afhængigt af værdien af x.

Note
Bemærk

Nøgleordet else kan efterfølges af enhver sætning, herunder endnu et if-blok, og denne kæde kan udvides efter behov, men det er vigtigt ikke at overforbruge denne konstruktion, da det kan gøre det vanskeligt at forstå programmets flow.

Opgave

Swipe to start coding

Du udvikler en forsendelsesberegner, der bestemmer leveringsomkostningerne baseret på pakkens vægt.

  1. Inde i funktionen calculateShippingCost, opret en variabel cost til at gemme forsendelsesprisen.
  2. Brug betingede udsagn til at bestemme prisen:
    • Hvis weightKg er mindre end eller lig med 2, sæt prisen til 5.0.
    • Hvis weightKg er mindre end eller lig med 5, sæt prisen til 10.0.
    • Ellers, sæt prisen til 20.0.
  3. Returnér cost fra funktionen.

Løsning

solution.cpp

solution.cpp

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 4
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: Else-sætning

Stryg for at vise menuen

else-sætningen er et centralt element i styringen af programflowet. Den supplerer if-sætningen ved at give et program mulighed for at udføre forskellige handlinger afhængigt af, om en given betingelse er true eller false. Grundlæggende gør det det muligt for programmet at vælge mellem to alternative veje.

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, springes koden i det første blok (den der følger efter if) over, og koden i det andet blok (den der følger efter else) udføres.

Når den udføres, ser det ud til at fungere som forventet. Da variablen x er mindre end 10, angiver outputtet korrekt: 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 at ændre værdien af variablen x til et tal større end 10, og kør derefter den givne kode igen. Som du kan se, er der to forskellige beskeder: én der angiver, at X is greater than 10, og en anden der specificerer, at X is not greater than 10.

Det vigtige at forstå er, at den anden std::cout-sætning ikke er en del af if-blokken; den vil altid blive udført ubetinget efter if-blokken, hvilket resulterer i, at begge beskeder bliver udskrevet. Dette skal naturligvis rettes, og problemet kan løses ved at bruge nøgleordet 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; } }

Nu fungerer alt som forventet, og kun én af to instruktioner vil blive udført afhængigt af værdien af x.

Note
Bemærk

Nøgleordet else kan efterfølges af enhver sætning, herunder endnu et if-blok, og denne kæde kan udvides efter behov, men det er vigtigt ikke at overforbruge denne konstruktion, da det kan gøre det vanskeligt at forstå programmets flow.

Opgave

Swipe to start coding

Du udvikler en forsendelsesberegner, der bestemmer leveringsomkostningerne baseret på pakkens vægt.

  1. Inde i funktionen calculateShippingCost, opret en variabel cost til at gemme forsendelsesprisen.
  2. Brug betingede udsagn til at bestemme prisen:
    • Hvis weightKg er mindre end eller lig med 2, sæt prisen til 5.0.
    • Hvis weightKg er mindre end eller lig med 5, sæt prisen til 10.0.
    • Ellers, sæt prisen til 20.0.
  3. Returnér cost 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 1. Kapitel 4
single

single

some-alt