Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Switch-sætning | Introduktion til Programflow
C++ Introduktion

bookSwitch-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

main.cpp

switch.h

switch.h

copy
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

main.cpp

copy
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.

question mark

Hvad er formålet med break-sætningen inde i et switch-blok?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Suggested prompts:

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

bookSwitch-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

main.cpp

switch.h

switch.h

copy
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

main.cpp

copy
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.

question mark

Hvad er formålet med break-sætningen inde i et switch-blok?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 3
some-alt