Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Else-sats | Introduktion till Villkorssatser
C++ Villkorssatser

bookUtmaning: Else-sats

else-satsen är ett avgörande element för att styra programflödet. Den kompletterar if-satsen genom att låta ett program vidta olika åtgärder beroende på om ett givet villkor är true eller false. I huvudsak möjliggör det för programmet att välja mellan två alternativa vägar.

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 }

Om villkoret är false hoppas koden över i det första blocket (det som följer efter if), och koden i det andra blocket (det som följer efter else) körs.

Vid körning verkar det fungera som förväntat. Eftersom variabeln x är mindre än 10, anger utdata 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; }

Försök att ändra värdet på variabeln x till ett tal större än 10 och kör sedan den angivna kodsnutten igen. Som du kan se finns det två olika meddelanden: ett som indikerar att X is greater than 10, och ett annat som anger att X is not greater than 10.

Det viktiga att förstå är att den andra std::cout-satsen inte är en del av if-blocket, utan alltid kommer att köras ovillkorligen efter if-blocket, vilket resulterar i att båda meddelandena skrivs ut. Naturligtvis måste detta åtgärdas och problemet kan lösas genom att använda nyckelordet 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 fungerar allt som förväntat och endast en av två instruktioner kommer att utföras beroende på värdet av x.

Note
Notering

else-nyckelordet kan följas av valfritt uttryck, inklusive ett annat if-block, och denna kedja kan utökas vid behov. Det är dock viktigt att inte överanvända denna konstruktion eftersom det kan göra det svårt att förstå programmets flöde.

Uppgift

Swipe to start coding

Du utvecklar en fraktkalkylator som bestämmer leveranskostnaden baserat på vikten av ett paket.

  1. Skapa en variabel calculateShippingCost i funktionen cost för att lagra fraktpriset.
  2. Använd villkorssatser för att bestämma kostnaden:
    • Om weightKg är mindre än eller lika med 2, sätt kostnaden till 5.0.
    • Om weightKg är mindre än eller lika med 5, sätt kostnaden till 10.0.
    • Annars, sätt kostnaden till 20.0.
  3. Returnera cost från funktionen.

Lösning

solution.cpp

solution.cpp

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 4
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: Else-sats

Svep för att visa menyn

else-satsen är ett avgörande element för att styra programflödet. Den kompletterar if-satsen genom att låta ett program vidta olika åtgärder beroende på om ett givet villkor är true eller false. I huvudsak möjliggör det för programmet att välja mellan två alternativa vägar.

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 }

Om villkoret är false hoppas koden över i det första blocket (det som följer efter if), och koden i det andra blocket (det som följer efter else) körs.

Vid körning verkar det fungera som förväntat. Eftersom variabeln x är mindre än 10, anger utdata 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; }

Försök att ändra värdet på variabeln x till ett tal större än 10 och kör sedan den angivna kodsnutten igen. Som du kan se finns det två olika meddelanden: ett som indikerar att X is greater than 10, och ett annat som anger att X is not greater than 10.

Det viktiga att förstå är att den andra std::cout-satsen inte är en del av if-blocket, utan alltid kommer att köras ovillkorligen efter if-blocket, vilket resulterar i att båda meddelandena skrivs ut. Naturligtvis måste detta åtgärdas och problemet kan lösas genom att använda nyckelordet 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 fungerar allt som förväntat och endast en av två instruktioner kommer att utföras beroende på värdet av x.

Note
Notering

else-nyckelordet kan följas av valfritt uttryck, inklusive ett annat if-block, och denna kedja kan utökas vid behov. Det är dock viktigt att inte överanvända denna konstruktion eftersom det kan göra det svårt att förstå programmets flöde.

Uppgift

Swipe to start coding

Du utvecklar en fraktkalkylator som bestämmer leveranskostnaden baserat på vikten av ett paket.

  1. Skapa en variabel calculateShippingCost i funktionen cost för att lagra fraktpriset.
  2. Använd villkorssatser för att bestämma kostnaden:
    • Om weightKg är mindre än eller lika med 2, sätt kostnaden till 5.0.
    • Om weightKg är mindre än eller lika med 5, sätt kostnaden till 10.0.
    • Annars, sätt kostnaden till 20.0.
  3. Returnera cost från funktionen.

Lösning

solution.cpp

solution.cpp

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

single

some-alt