Utfordring: 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
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, 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
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
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.
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.
Swipe to start coding
Du utvikler en fraktkalkulator som beregner leveringskostnaden basert på vekten av en pakke.
- Inne i funksjonen
calculateShippingCost, opprett en variabelcostfor å lagre fraktprisen. - Bruk betingede setninger for å bestemme kostnaden:
- Hvis
weightKger mindre enn eller lik 2, sett kostnaden til 5.0. - Hvis
weightKger mindre enn eller lik 5, sett kostnaden til 10.0. - Ellers, sett kostnaden til 20.0.
- Hvis
- Returner
costfra funksjonen.
Løsning
solution.cpp
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 7.69
Utfordring: 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
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, 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
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
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.
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.
Swipe to start coding
Du utvikler en fraktkalkulator som beregner leveringskostnaden basert på vekten av en pakke.
- Inne i funksjonen
calculateShippingCost, opprett en variabelcostfor å lagre fraktprisen. - Bruk betingede setninger for å bestemme kostnaden:
- Hvis
weightKger mindre enn eller lik 2, sett kostnaden til 5.0. - Hvis
weightKger mindre enn eller lik 5, sett kostnaden til 10.0. - Ellers, sett kostnaden til 20.0.
- Hvis
- Returner
costfra funksjonen.
Løsning
solution.cpp
Takk for tilbakemeldingene dine!
single