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
switchva seguida de la variable que deseas probar entre paréntesis. - Cada
caserepresenta un valor posible de la variable. - El código dentro de cada
casese ejecuta si la variable coincide con el valor de ese caso.
- La sentencia
breakes crucial; sale delswitchdespués de que se ejecute un caso. Sin ella, la ejecución "caería" al siguiente caso. - El caso
defaultes 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";
}Desafío
PrincipianteCrea 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 variablebreak: 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;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador móduloIncremento/DecrementoPost-incremento/decrementoAtajos aritméticosOperadores de comparaciónComparación de strings7Conceptos básicos de Entrada/Salida
Sentencia coutSentencia cinEntrada de cadenasResumen - Hasta 120Resumen - Verdadero o Falso5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 38Calculadora de números
Mensaje de bienvenidaObtención de números3Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaResumen - Inicializar variablesType Casting Parte 1Type Casting Parte 26Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador condicionalRepaso - If ElseIf - Else anidados