Switch-sætning
En switch
-sætning er en kontrolstrukturskonstruktion i programmering, der bruges til at udføre én kodeblok ud af flere mulige muligheder, baseret på værdien af en enkelt variabel eller et udtryk. Det er et mere struktureret og læsbart alternativ til at bruge flere if-else
-sætninger, når den samme værdi sammenlignes med flere mulige muligheder.
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; } }
Variablen userOption
kontrolleres, og hvis dens værdi er lig med 1
, viser programmet meddelelsen for at tjekke kontosaldoen. break
-sætningen stopper derefter yderligere udførelse inden for switch-case
-blokken og forhindrer, at andre cases køres.
-
break
– sætning betyder udgang fra en kodeblok; -
default
– er en valgfri del, men en nyttig en. Denne del vil blive udført, hvis ingen af cases passer.
Nøgleordet break
Der er dog et vigtigt aspekt ved switch
-sætningen, man skal være opmærksom på. Hvis break
-sætningen med vilje fjernes fra et case, vil programmet fortsætte med at udføre de efterfølgende cases, selvom deres betingelser ikke matcher. Denne adfærd, kendt som fall-through, kan være nyttig i specifikke situationer, men kan føre til uventede resultater, hvis den ikke bruges omhyggeligt.
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; } }
Uden break
-kommandoen vil programflowet ignorere alle de følgende tjek og blot udføre kommandoerne i de efterfølgende cases, indtil det støder på en break
-sætning eller slutningen af hele switch
-blokken.
Tak for dine kommentarer!
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
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-sætning
Stryg for at vise menuen
En switch
-sætning er en kontrolstrukturskonstruktion i programmering, der bruges til at udføre én kodeblok ud af flere mulige muligheder, baseret på værdien af en enkelt variabel eller et udtryk. Det er et mere struktureret og læsbart alternativ til at bruge flere if-else
-sætninger, når den samme værdi sammenlignes med flere mulige muligheder.
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; } }
Variablen userOption
kontrolleres, og hvis dens værdi er lig med 1
, viser programmet meddelelsen for at tjekke kontosaldoen. break
-sætningen stopper derefter yderligere udførelse inden for switch-case
-blokken og forhindrer, at andre cases køres.
-
break
– sætning betyder udgang fra en kodeblok; -
default
– er en valgfri del, men en nyttig en. Denne del vil blive udført, hvis ingen af cases passer.
Nøgleordet break
Der er dog et vigtigt aspekt ved switch
-sætningen, man skal være opmærksom på. Hvis break
-sætningen med vilje fjernes fra et case, vil programmet fortsætte med at udføre de efterfølgende cases, selvom deres betingelser ikke matcher. Denne adfærd, kendt som fall-through, kan være nyttig i specifikke situationer, men kan føre til uventede resultater, hvis den ikke bruges omhyggeligt.
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; } }
Uden break
-kommandoen vil programflowet ignorere alle de følgende tjek og blot udføre kommandoerne i de efterfølgende cases, indtil det støder på en break
-sætning eller slutningen af hele switch
-blokken.
Tak for dine kommentarer!