Menu
Coddy logo textTech

Sentencia Switch

Parte de la sección Fundamentos del Journey de C++ de Coddy — lección 29 de 74.

La sentencia switch es como una sentencia if de múltiples vías. En lugar de evaluar una sola condición, comprueba el valor de una variable frente a múltiples casos y ejecuta el código asociado con el caso coincidente.

Aquí está la estructura básica de una sentencia switch:

switch (variable) {
    case value1:
        // Código a ejecutar si variable es igual a value1
        break;
    case value2:
        // Código a ejecutar si variable es igual a value2
        break;
    // ... más casos
    default:
        // Código a ejecutar si ningún caso coincide
}
  • La palabra clave switch va seguida de la variable que deseas probar entre paréntesis.
  • Cada case representa un valor posible de la variable.
  • El código dentro de cada case se ejecuta si la variable coincide con el valor de ese caso.
  • La sentencia break es crucial; sale del switch después de que se ejecute un caso. Sin ella, la ejecución "caería" al siguiente caso.
  • El caso default es opcional y se ejecuta si ningún otro caso coincide.

Aquí tienes un ejemplo:

int day = 3;
std::string dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    // ... casos para otros días
    default:
        dayName = "Invalid day";
}

También puedes combinar varios casos en uno solo:

int day = 3;
std::string dayName;

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

Desafío

Principiante

Crea un programa que reciba un número de mes (1 para enero, 2 para febrero, etc.) e imprima la estación a la que pertenece. Usa una sentencia switch para la lógica.

Las estaciones y sus meses correspondientes son:

  • Winter: diciembre (12), enero (1), febrero (2)
  • Spring: marzo (3), abril (4), mayo (5)
  • Summer: junio (6), julio (7), agosto (8)
  • Autumn: septiembre (9), octubre (10), noviembre (11)
  • Invalid month: para otras opciones

Hoja de referencia

La sentencia switch es un condicional de múltiples vías que comprueba una variable frente a múltiples casos:

switch (variable) {
    case value1:
        // Código a ejecutar si variable es igual a value1
        break;
    case value2:
        // Código a ejecutar si variable es igual a value2
        break;
    default:
        // Código a ejecutar si ningún caso coincide
}

Componentes clave:

  • case: representa un valor posible de la variable
  • break: sale del switch después de que se ejecuta un caso (evita el "fall-through")
  • default: caso opcional ejecutado si ningún otro caso coincide

Puedes combinar múltiples casos:

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

Pruébalo tú mismo

#include <iostream>

int main() {
    int month;
    std::cin >> month;
    std::string season = "";
    
    // Escribe tu código a continuación
    
    
    std::cout << season << std::endl;
    return 0;
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos