Switch-sats
Ett switch
-uttryck är en styrflödeskonstruktion inom programmering som används för att köra ett kodblock av flera möjliga alternativ, baserat på värdet av en enskild variabel eller ett uttryck. Det är ett mer strukturerat och läsbart alternativ till att använda flera if-else
-satser när samma värde jämförs mot flera möjliga alternativ.
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; } }
Variabeln userOption
kontrolleras, och om dess värde är lika med 1
visar programmet meddelandet för att kontrollera kontosaldot. break
-satsen stoppar sedan vidare exekvering inom switch-case
-blocket, vilket förhindrar att andra fall körs.
-
break
– sats innebär ett avbrott från ett kodblock; -
default
– är en valfri men användbar del. Denna del kommer att köras om inget av fallen passar.
Nyckelordet break
Det finns dock en viktig aspekt av switch
-satsen att ha i åtanke. Om break
-satsen medvetet utelämnas från ett case, kommer programmet att fortsätta exekvera efterföljande case, även om deras villkor inte matchar. Detta beteende, känt som fall-through, kan vara användbart i specifika situationer men kan leda till oväntade resultat om det inte används med försiktighet.
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; } }
Utan kommandot break
kommer programflödet att ignorera alla efterföljande kontroller och helt enkelt exekvera kommandona i de följande case tills det stöter på en break
-sats eller slutet av hela switch
-blocket.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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-sats
Svep för att visa menyn
Ett switch
-uttryck är en styrflödeskonstruktion inom programmering som används för att köra ett kodblock av flera möjliga alternativ, baserat på värdet av en enskild variabel eller ett uttryck. Det är ett mer strukturerat och läsbart alternativ till att använda flera if-else
-satser när samma värde jämförs mot flera möjliga alternativ.
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; } }
Variabeln userOption
kontrolleras, och om dess värde är lika med 1
visar programmet meddelandet för att kontrollera kontosaldot. break
-satsen stoppar sedan vidare exekvering inom switch-case
-blocket, vilket förhindrar att andra fall körs.
-
break
– sats innebär ett avbrott från ett kodblock; -
default
– är en valfri men användbar del. Denna del kommer att köras om inget av fallen passar.
Nyckelordet break
Det finns dock en viktig aspekt av switch
-satsen att ha i åtanke. Om break
-satsen medvetet utelämnas från ett case, kommer programmet att fortsätta exekvera efterföljande case, även om deras villkor inte matchar. Detta beteende, känt som fall-through, kan vara användbart i specifika situationer men kan leda till oväntade resultat om det inte används med försiktighet.
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; } }
Utan kommandot break
kommer programflödet att ignorera alla efterföljande kontroller och helt enkelt exekvera kommandona i de följande case tills det stöter på en break
-sats eller slutet av hela switch
-blocket.
Tack för dina kommentarer!