Instrução Switch
Uma declaração switch é uma construção de controle de fluxo em programação usada para executar um bloco de código entre várias opções possíveis, com base no valor de uma única variável ou expressão. É uma alternativa mais estruturada e legível ao uso de múltiplas declarações if-else ao comparar o mesmo valor com várias opções possíveis.
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; } }
A variável userOption é verificada e, se seu valor for igual a 1, o programa exibe a mensagem para consultar o saldo da conta. A declaração break então interrompe a execução dentro do bloco switch-case, impedindo que outros casos sejam executados.
-
break- declaração que significa saída de um bloco de código; -
default- é uma parte opcional, mas útil. Esta parte será executada se nenhum dos casos corresponder.
A palavra-chave break
No entanto, há um aspecto importante da declaração switch a ser considerado. Se a declaração break for intencionalmente removida de um caso, o programa continuará executando os casos subsequentes, mesmo que suas condições não correspondam. Esse comportamento, conhecido como fall-through, pode ser útil em cenários específicos, mas pode levar a resultados inesperados se não for utilizado com cuidado.
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; } }
Sem o comando break, o fluxo do programa ignorará todas as verificações seguintes e simplesmente executará os comandos dos próximos casos até encontrar a declaração break ou o final de todo o bloco switch.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you give an example of how fall-through works in a switch statement?
What are some scenarios where intentional fall-through is useful?
Can you explain the difference between using break and not using break in switch statements?
Awesome!
Completion rate improved to 3.85
Instrução Switch
Deslize para mostrar o menu
Uma declaração switch é uma construção de controle de fluxo em programação usada para executar um bloco de código entre várias opções possíveis, com base no valor de uma única variável ou expressão. É uma alternativa mais estruturada e legível ao uso de múltiplas declarações if-else ao comparar o mesmo valor com várias opções possíveis.
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; } }
A variável userOption é verificada e, se seu valor for igual a 1, o programa exibe a mensagem para consultar o saldo da conta. A declaração break então interrompe a execução dentro do bloco switch-case, impedindo que outros casos sejam executados.
-
break- declaração que significa saída de um bloco de código; -
default- é uma parte opcional, mas útil. Esta parte será executada se nenhum dos casos corresponder.
A palavra-chave break
No entanto, há um aspecto importante da declaração switch a ser considerado. Se a declaração break for intencionalmente removida de um caso, o programa continuará executando os casos subsequentes, mesmo que suas condições não correspondam. Esse comportamento, conhecido como fall-through, pode ser útil em cenários específicos, mas pode levar a resultados inesperados se não for utilizado com cuidado.
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; } }
Sem o comando break, o fluxo do programa ignorará todas as verificações seguintes e simplesmente executará os comandos dos próximos casos até encontrar a declaração break ou o final de todo o bloco switch.
Obrigado pelo seu feedback!