Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Entender o comando switch

Para fazermos escolhas na linguagem Java, usamos o comando switch que irá comparar um valor a um grupo de casos e executar um trecho para um caso específico quanto o retorno da comparação for verdadeira(true).

Os comandos de escolha bem como o seu funcionamento já foi discutidos em Portugol: Comando de Escolha sendo a leitura recomendada.

Para fazermos escolhas da linguagem de programação C++, utilizamos o comando switch que possui sua sintaxe e fluxograma apresentados logo abaixo. O switch utiliza o comando break como parte de sua sintaxe.

Fig. 1: Comando switch
Sintaxe
switch(valor_comparar)
{
    case caso_1: 
                //codigo aqui
    break;
    case caso_2: 
                //codigo aqui
    break;
    default:
                //codigo aqui
    break;
}

O caso default é opcional. Com esse caso, podemos executar algum trecho de código caso o valor não seja igual a algum dos valores das cláusulas case. Por boa prática, o default é mantido para facilitar a identificação de erros.

A linguagem C++ não permite que strings sejam utilizandos nos cases do comando switch, limitando-se apenas ao tipo inteiro númerico.

Exemplo 1
#include <iostream>
using namespace std;

int main ()
{
    int valor = 1;
    
    switch(valor)
    {
        case 1: cout << 1; break;
        case 3: cout << 1; break;
        default: cout << "valor inválido"; break;
    }
    return 0;
}
Saída
1

A linguagem C++, assim como C, permite que o switch seja utilizando em conjunto com enumeradores. O tipo de dado enum pode ser visto Tutorial C++: Enum.

Exemplo 2
#include <stdio.h>

enum opcoes {
    UM,
    DOIS
};
int main()
{
    enum opcoes opcao= UM;
    switch(opcao)
    {
        case UM: printf("tipo 1"); break;
        case DOIS: printf("tipo 2");  break;
    }
}
Saída
tipo 1

Para a execução de um mesmo trecho de código para mais de uma caso, basta adicionar as cláusulas case em sequência, ou um abaixo do outra, separadas por (:). Apenas um comando break é necessário.

Exemplo 3
#include <iostream>
using namespace std;

int main ()
{
    int valor = 1;
    
    switch(valor)
    {
        case 1:
        case 3: cout << 1; break;
        default: cout << "valor inválido"; break;
    }
    return 0;
}
Saída
1
  1. 28/07/2025 - revisão 3 - ajustes pontuais e em sintaxes
  2. 30/09/2024 - revisão 2 - Correção: links portugol; Remoção: texto repetido; ajustes gramaticas e outros
  3. 09/02/2024 - revisão 1 - correção em navegação, css e erros gramaticais
  4. 30/06/2023 - versão inicial