Pular para o conteúdo principal
Módulo 2 · Lição 3 de 36/18 no curso~8 min
Lições do módulo (3/3)

A instrução switch

A instrução switch permite substituir longas cadeias de instruções if-else if-else ao comparar uma variável com vários valores constantes.

A sintaxe switch

A declaração switch compara uma expressão com vários rótulos case:

C++
char grade = 'B';

switch (grade) {
    case 'A':
        std::cout << "Excellent!" << std::endl;
        break;
    case 'B':
        std::cout << "Very well!" << std::endl;
        break;
    case 'C':
        std::cout << "Sufficient." << std::endl;
        break;
    default:
        std::cout << "Invalid grade." << std::endl;
        break;
}
  • break: é fundamental. Se omitida, a execução cairá nos próximos casos (um comportamento conhecido como fall-through).
  • default: um bloqueio opcional executado se nenhum dos casos anteriores corresponder ao valor testado.

Experimente também.

Exercício#cpp.m2.l3.e1
Tentativas: 0Carregando…

Dado um dia inteiro lido de std::cin, use switch para imprimir 'lunedi' se o dia for 1, 'martedi' se for 2 e 'altro' para qualquer outro valor.

Carregando editor…
Mostrar dica

Estruture o interruptor em `day` inserindo 'case 1:`, `case 2:` e `default:`, lembrando a instrução `break` no final de cada ramificação.

Solução disponível após 3 tentativas

Exercício#cpp.m2.l3.e2
Tentativas: 0Carregando…

Dada uma nota variável lida de std::cin, use um interruptor para imprimir 'ottimo' para 'A', 'buono' para 'B' e 'insuficiente' para todos os outros casos.

Carregando editor…
Mostrar dica

Para caracteres, use aspas simples, por exemplo, `caso 'A':`.

Solução disponível após 3 tentativas