Neste tutorial, aprenderemos sobre a instrução switch e seu funcionamento na programação C ++ com a ajuda de alguns exemplos.
A switch
instrução nos permite executar um bloco de código entre muitas alternativas.
A sintaxe da switch
instrução em C ++ é:
switch (expression) ( case constant1: // code to be executed if // expression is equal to constant1; break; case constant2: // code to be executed if // expression is equal to constant2; break;… default: // code to be executed if // expression doesn't match any constant )
Como funciona a instrução switch?
O expression
é avaliado uma vez e comparado com os valores de cada case
etiqueta.
- Se houver uma correspondência, o código correspondente após o rótulo correspondente é executado. Por exemplo, se o valor da variável for igual a
constant2
, o código depoiscase constant2:
será executado até que abreak
instrução seja encontrada. - Se não houver correspondência, o código após
default:
é executado.
Nota : podemos fazer a mesma coisa com a if… else… if
escada. No entanto, a sintaxe da switch
instrução é mais limpa e muito mais fácil de ler e escrever.
Fluxograma de declaração de switch

Exemplo: crie uma calculadora usando a instrução switch
// Program to build a simple calculator using switch Statement #include using namespace std; int main() ( char oper; float num1, num2; cout <> oper; cout << "Enter two numbers: " <> num1>> num2; switch (oper) ( case '+': cout << num1 << " + " << num2 << " = " << num1 + num2; break; case '-': cout << num1 << " - " << num2 << " = " << num1 - num2; break; case '*': cout << num1 << " * " << num2 << " = " << num1 * num2; break; case '/': cout << num1 << " / " << num2 << " = " << num1 / num2; break; default: // operator is doesn't match any case constant (+, -, *, /) cout << "Error! The operator is not correct"; break; ) return 0; )
Produto 1
Insira um operador (+, -, *, /): + Insira dois números: 2,3 4,5 2,3 + 4,5 = 6,8
Produto 2
Insira um operador (+, -, *, /): - Insira dois números: 2,3 4,5 2,3 - 4,5 = -2,2
Produto 3
Insira um operador (+, -, *, /): * Insira dois números: 2,3 4,5 2,3 * 4,5 = 10,35
Produto 4
Insira um operador (+, -, *, /): / Insira dois números: 2,3 4,5 2,3 / 4,5 = 0,511111
Produto 5
Insira um operador (+, -, *, /):? Digite dois números: 2.3 4.5 Erro! O operador não está correto.
No programa acima, estamos usando a switch… case
instrução para realizar adição, subtração, multiplicação e divisão.
Como funciona este programa
- Primeiro solicitamos ao usuário que insira o operador desejado. Esta entrada é então armazenada na
char
variável denominada oper. - Em seguida, solicitamos ao usuário que insira dois números, que são armazenados nas variáveis float num1 e num2.
- A
switch
declaração é então usada para verificar o operador inserido pelo usuário:- Se o usuário inserir
+
, a adição é realizada nos números. - Se o usuário inserir
-
, a subtração será realizada nos números. - Se o usuário inserir
*
, a multiplicação é realizada nos números. - Se o usuário inserir
/
, a divisão será realizada nos números. - Se o usuário inserir qualquer outro caractere, o código padrão será impresso.
- Se o usuário inserir
Observe que a break
instrução é usada dentro de cada case
bloco. Isso encerra a switch
instrução.
Se a break
instrução não for usada, todos os casos após o correto case
serão executados.