Switch-setning
En switch-setning er en kontrollflytkonstruksjon i programmering som brukes til å utføre én kodeblokk blant flere mulige alternativer, basert på verdien til en enkelt variabel eller uttrykk. Det er et mer strukturert og lesbart alternativ til å bruke flere if-else-setninger når man sammenligner samme verdi med flere mulige alternativer.
main.cpp
switch.h
1234567891011121314151617181920212223242526272829#include <iostream> int main() { int userOption = 1; // 1: Check, 2: Deposit, 3: Withdraw, 4: Exit switch (userOption) { case 1: std::cout << "Checking balance...\n"; break; case 2: std::cout << "Depositing money...\n"; break; case 3: std::cout << "Withdrawing money...\n"; break; case 4: std::cout << "Exiting. Thank you!\n"; break; default: std::cout << "Invalid option.\n"; break; } }
Variabelen userOption sjekkes, og hvis verdien er lik 1, viser programmet meldingen for å sjekke kontosaldo. break-setningen stopper deretter videre utførelse innenfor switch-case-blokken, slik at andre tilfeller ikke kjøres.
-
break– setning betyr utgang fra en kodeblokk; -
default– er en valgfri del, men nyttig. Denne delen vil bli utført hvis ingen av tilfellene passer.
Nøkkelordet break
Det er imidlertid et viktig aspekt ved switch-setningen å være oppmerksom på. Hvis break-setningen med vilje fjernes fra en case, vil programmet fortsette å utføre de påfølgende casene, selv om betingelsene deres ikke stemmer. Denne oppførselen, kjent som fall-through, kan være nyttig i spesifikke situasjoner, men kan føre til uventede resultater hvis den ikke brukes med forsiktighet.
main.cpp
1234567891011121314151617181920212223242526#include <iostream> int main() { // Example user choice: 1 for Check Balance, 2 for Deposit, etc. int userOption = 1; // Simulating a banking system menu using a switch statement switch (userOption) { case 1: // Check account balance std::cout << "Checking account balance..." << std::endl; case 2: // Deposit money std::cout << "Depositing money into your account..." << std::endl; case 3: // Withdraw money std::cout << "Withdrawing money from your account..." << std::endl; case 4: // Exit std::cout << "Exiting the system. Thank you for banking with us!" << std::endl; default: // Invalid option std::cout << "Invalid option. Please choose a valid menu option." << std::endl; } }
Uten break-kommandoen vil programflyten ignorere alle de følgende sjekkene og ganske enkelt utføre kommandoene til de påfølgende casene til den møter en break-setning eller slutten av hele switch-blokken.
Takk for tilbakemeldingene dine!
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
Can you give an example of how fall-through works in a switch statement?
What are some scenarios where fall-through might be useful?
Can you explain the difference between using break and not using break in a switch statement?
Awesome!
Completion rate improved to 3.85
Switch-setning
Sveip for å vise menyen
En switch-setning er en kontrollflytkonstruksjon i programmering som brukes til å utføre én kodeblokk blant flere mulige alternativer, basert på verdien til en enkelt variabel eller uttrykk. Det er et mer strukturert og lesbart alternativ til å bruke flere if-else-setninger når man sammenligner samme verdi med flere mulige alternativer.
main.cpp
switch.h
1234567891011121314151617181920212223242526272829#include <iostream> int main() { int userOption = 1; // 1: Check, 2: Deposit, 3: Withdraw, 4: Exit switch (userOption) { case 1: std::cout << "Checking balance...\n"; break; case 2: std::cout << "Depositing money...\n"; break; case 3: std::cout << "Withdrawing money...\n"; break; case 4: std::cout << "Exiting. Thank you!\n"; break; default: std::cout << "Invalid option.\n"; break; } }
Variabelen userOption sjekkes, og hvis verdien er lik 1, viser programmet meldingen for å sjekke kontosaldo. break-setningen stopper deretter videre utførelse innenfor switch-case-blokken, slik at andre tilfeller ikke kjøres.
-
break– setning betyr utgang fra en kodeblokk; -
default– er en valgfri del, men nyttig. Denne delen vil bli utført hvis ingen av tilfellene passer.
Nøkkelordet break
Det er imidlertid et viktig aspekt ved switch-setningen å være oppmerksom på. Hvis break-setningen med vilje fjernes fra en case, vil programmet fortsette å utføre de påfølgende casene, selv om betingelsene deres ikke stemmer. Denne oppførselen, kjent som fall-through, kan være nyttig i spesifikke situasjoner, men kan føre til uventede resultater hvis den ikke brukes med forsiktighet.
main.cpp
1234567891011121314151617181920212223242526#include <iostream> int main() { // Example user choice: 1 for Check Balance, 2 for Deposit, etc. int userOption = 1; // Simulating a banking system menu using a switch statement switch (userOption) { case 1: // Check account balance std::cout << "Checking account balance..." << std::endl; case 2: // Deposit money std::cout << "Depositing money into your account..." << std::endl; case 3: // Withdraw money std::cout << "Withdrawing money from your account..." << std::endl; case 4: // Exit std::cout << "Exiting the system. Thank you for banking with us!" << std::endl; default: // Invalid option std::cout << "Invalid option. Please choose a valid menu option." << std::endl; } }
Uten break-kommandoen vil programflyten ignorere alle de følgende sjekkene og ganske enkelt utføre kommandoene til de påfølgende casene til den møter en break-setning eller slutten av hele switch-blokken.
Takk for tilbakemeldingene dine!