Menu
Coddy logo textTech

Estrutura Switch

Parte da seção Fundamentos do Journey de C++ da Coddy — lição 29 de 74.

A instrução switch é como uma instrução if de múltiplas vias. Em vez de avaliar uma única condição, ela verifica o valor de uma variável em relação a múltiplos casos e executa o código associado ao caso correspondente.

Aqui está a estrutura básica de uma instrução switch:

switch (variable) {
    case value1:
        // Código a ser executado se variable for igual a value1
        break;
    case value2:
        // Código a ser executado se variable for igual a value2
        break;
    // ... mais casos
    default:
        // Código a ser executado se nenhum caso corresponder
}
  • A palavra-chave switch é seguida pela variável que você deseja testar entre parênteses.
  • Cada case representa um valor possível da variável.
  • O código dentro de cada case é executado se a variável corresponder ao valor desse caso.
  • A instrução break é crucial; ela sai do switch após um caso ser executado. Sem ela, a execução "cairia" para o próximo caso.
  • O caso default é opcional e é executado se nenhum outro caso corresponder.

Aqui está um exemplo:

int day = 3;
std::string dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    // ... casos para outros dias
    default:
        dayName = "Invalid day";
}

Você também pode combinar vários casos em um só:

int day = 3;
std::string dayName;

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    // ... casos para outros dias
    default:
        dayName = "Invalid day";
}
challenge icon

Desafio

Iniciante

Crie um programa que receba o número de um mês (1 para Janeiro, 2 para Fevereiro, etc.) e imprima a estação a que ele pertence. Use uma instrução switch para a lógica.

As estações e seus meses correspondentes são:

  • Winter: Dezembro (12), Janeiro (1), Fevereiro (2)
  • Spring: Março (3), Abril (4), Maio (5)
  • Summer: Junho (6), Julho (7), Agosto (8)
  • Autumn: Setembro (9), Outubro (10), Novembro (11)
  • Invalid month: para outras opções

Folha de consulta

A instrução switch é uma condicional de múltiplas vias que verifica uma variável em relação a vários casos:

switch (variable) {
    case value1:
        // Código para executar se variable for igual a value1
        break;
    case value2:
        // Código para executar se variable for igual a value2
        break;
    default:
        // Código para executar se nenhum caso corresponder
}

Componentes principais:

  • case: representa um valor possível da variável
  • break: sai do switch após a execução de um caso (evita o "fall-through")
  • default: caso opcional executado se nenhum outro caso corresponder

Você pode combinar vários casos:

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    default:
        dayName = "Invalid day";
}

Experimente você mesmo

#include <iostream>

int main() {
    int month;
    std::cin >> month;
    std::string season = "";
    
    // Escreva seu código abaixo
    
    
    std::cout << season << std::endl;
    return 0;
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos