Udfordring: 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
12345678if (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
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
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.
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.
Swipe to start coding
Du udvikler en forsendelsesberegner, der bestemmer leveringsomkostningerne baseret på pakkens vægt.
- Inde i funktionen
calculateShippingCost, opret en variabelcosttil at gemme forsendelsesprisen. - Brug betingede udsagn til at bestemme prisen:
- Hvis
weightKger mindre end eller lig med 2, sæt prisen til 5.0. - Hvis
weightKger mindre end eller lig med 5, sæt prisen til 10.0. - Ellers, sæt prisen til 20.0.
- Hvis
- Returnér
costfra funktionen.
Løsning
solution.cpp
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 7.69
Udfordring: 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
12345678if (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
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
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.
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.
Swipe to start coding
Du udvikler en forsendelsesberegner, der bestemmer leveringsomkostningerne baseret på pakkens vægt.
- Inde i funktionen
calculateShippingCost, opret en variabelcosttil at gemme forsendelsesprisen. - Brug betingede udsagn til at bestemme prisen:
- Hvis
weightKger mindre end eller lig med 2, sæt prisen til 5.0. - Hvis
weightKger mindre end eller lig med 5, sæt prisen til 10.0. - Ellers, sæt prisen til 20.0.
- Hvis
- Returnér
costfra funktionen.
Løsning
solution.cpp
Tak for dine kommentarer!
single