Dominando a Declaração Switch-Case em C++: Sintaxe, Fluxo e Exemplos Práticos
Dominando a Declaração Switch-Case em C++
Explore a declaração switch-case em C++ com sintaxe clara, fluxo passo a passo e um exemplo prático de calculadora que demonstra uso real.
A declaração switch é uma ferramenta concisa de controle de fluxo que executa um único bloco de muitas alternativas baseadas no valor de uma expressão.
A sintaxe da declaração switch em C++ é:
switch (expressão) { case constante1: // código a ser executado se // expressão for igual a constante1; break; case constante2: // código a ser executado se // expressão for igual a constante2; break; . . . default: // código a ser executado se // expressão não corresponder a nenhuma constante }
Como a declaração switch funciona?
A expressão é avaliada uma vez e comparada com cada rótulo case.
- Se houver correspondência, o código após esse rótulo roda até encontrar um
break. - Se nenhuma correspondência ocorrer, o bloco
defaultroda.
Nota: Embora uma escada if…else if possa alcançar o mesmo resultado, a sintaxe switch é mais limpa e fácil de ler.
Fluxograma da Declaração Switch

Exemplo: Calculadora Simples Usando Switch
#include <iostream> using namespace std; int main() { char oper; float num1, num2; cout << "Digite um operador (+, -, *, /): "; cin >> oper; cout << "Digite dois números: " << endl; cin >> 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: cout << "Erro! O operador não é correto"; break; } return 0; }
Saída 1
Digite um operador (+, -, *, /): + Digite dois números: 2.3 4.5 2.3 + 4.5 = 6.8
Saída 2
Digite um operador (+, -, *, /): - Digite dois números: 2.3 4.5 2.3 - 4.5 = -2.2
Saída 3
Digite um operador (+, -, *, /): * Digite dois números: 2.3 4.5 2.3 * 4.5 = 10.35
Saída 4
Digite um operador (+, -, *, /): / Digite dois números: 2.3 4.5 2.3 / 4.5 = 0.511111
Saída 5
Digite um operador (+, -, *, /): ? Digite dois números: 2.3 4.5 Erro! O operador não é correto.
Neste programa, a construção switch…case direciona o fluxo para realizar adição, subtração, multiplicação ou divisão baseada na escolha do usuário.
Como Este Programa Funciona
- Solicita ao usuário o operador desejado, armazenado em
char oper. - Solicita dois valores numéricos, armazenados em
float num1efloat num2. - Usa
switchpara avaliaroper:+– realiza adição.-– realiza subtração.*– realiza multiplicação./– realiza divisão.- Qualquer outro caractere dispara o caso
default, imprimindo um erro.
A declaração break após cada caso termina o bloco switch. Omiti-lo causa "fall-through", executando casos subsequentes inadvertidamente.
Linguagem C
- Dominando a Instrução Switch em C#: Sintaxe, Exemplos e Boas Práticas
- Instrução Break em C#: Como e Quando Usar
- Dominando a Instrução Continue em C#: Como Pular Iterações de Loop Eficazmente
- Entendendo Conversão de Tipos em C++: Implícita, Explícita e Técnicas de Cast
- Dominando Operadores em C++: Guia Completo com Exemplos Práticos
- Comentários em C++: Boas Práticas para Código Legível e Manutenível
- Dominando Declarações Condicionais em C++: if, if...else e if...else Aninhado Explicados
- Dominando a Declaração break em C++
- Dominando a Declaração continue em C++: Exemplos Práticos e Controle de Loop
- Dominando Switch-Case em C++: Sintaxe, Uso e Exemplos Práticos