Dominando switch-case en C++: Sintaxis, uso y ejemplos prácticos
¿Qué es un switch?
La sentencia switch evalúa una variable una vez y deriva la ejecución a la etiqueta case coincidente, simplificando la toma de decisiones multi‑vía.
Piénselo como una escalera if…else if… limpia y eficiente que selecciona bloques de código basándose en el valor de la variable.
En este tutorial de C++ aprenderá:
- Qué es una sentencia switch
- Cuándo usar un switch
- El papel de la palabra clave
break - Sintaxis y estructura
- Ejemplos prácticos
Cuándo usar un switch
Un switch es ideal cuando una única variable debe compararse contra un conjunto fijo de constantes. Produce código más claro y rápido que una larga cadena if…else if….
La palabra clave break
Dentro de un switch, break termina el case actual, evitando la caída (fall‑through) a los cases siguientes. Si se omite, la ejecución continúa en el siguiente case.
Cuando el compilador encuentra break, el control salta a la sentencia siguiente a la llave de cierre del switch.
Sintaxis
Estructura típica:
switch (variable) {
case valor1:
// código
break;
case valor2:
// código
break;
default:
// código
}
- variable – la expresión a evaluar.
- case – un valor constante contra el que comparar.
- break – detiene la ejecución del bloque switch.
- default – opcional; se ejecuta cuando ningún case coincide.
Ejemplo 1
#include <iostream>
using namespace std;
int main() {
int x = 20;
switch (x) {
case 10:
cout << "X es 10";
break;
case 20:
cout << "X es 20";
break;
case 30:
cout << "X es 30";
break;
default:
cout << "X no es 10, 20 ni 30";
break;
}
return 0;
}
Salida:

Captura del código:

Explicación del código:
- Incluya
<iostream>para habilitar E/S de consola. - Use el espacio de nombres
stdpor brevedad. - Defina
main()como punto de entrada. - Declare
int x = 20;. - Aplique
switch(x)para compararxcontra constantes. - Case 10: imprima "X es 10".
- Case 20: imprima "X es 20".
- Case 30: imprima "X es 30".
- Default: maneje valores distintos de 10, 20, 30.
- Cada case termina con
break;para evitar fall‑through. - Retorne 0 para indicar ejecución exitosa.
Ejemplo 2
#include <iostream>
using namespace std;
int main() {
int choice;
cout << "Ingrese 1, 2 o 3: ";
cin >> choice;
switch (choice) {
case 1:
cout << "Opción 1";
break;
case 2:
cout << "Opción 2";
break;
case 3:
cout << "Opción 3";
break;
default:
cout << "No es 1, 2 ni 3";
break;
}
}
Salida:

Captura del código:

Explicación del código:
- Incluya
<iostream>para E/S. - Use espacio de nombres
std. - Declare
int choice;. - Solicite al usuario: "Ingrese 1, 2 o 3: ".
- Lea la entrada en
choice. - Switch sobre
choicepara derivar al case correspondiente. - Case 1 imprime "Opción 1".
- Case 2 imprime "Opción 2".
- Case 3 imprime "Opción 3".
- Default maneja cualquier otra entrada.
- Cada case termina con
break;.
Resumen
- Un switch proporciona una alternativa concisa a sentencias
if…else if…anidadas. - Su sintaxis es más limpia y la ejecución generalmente más rápida.
- Úselo cuando una variable deba compararse contra múltiples valores constantes.
- Cada
casecompara la variable con un valor distinto. - La palabra clave
breakevita caídas no intencionadas. - Una cláusula
defaultopcional maneja casos no coincidentes.
Lenguaje C
- Circuito con interruptor: guía práctica de circuitos eléctricos básicos
- Dominando la sentencia switch en C#: Sintaxis, ejemplos y mejores prácticas
- Sentencia break en C#: Cómo y cuándo usarla
- Dominando la Sentencia break en C++
- Operadores en C++ explicados: Tipos, ejemplos y programas de muestra
- Dominando switch-case en C++: Sintaxis, uso y ejemplos prácticos
- Asignación dinámica de arrays en C++: Guía práctica con ejemplos de código
- Structs en C++ explicados con un ejemplo práctico
- Dominando std::map en C++: Guía completa con ejemplos de código
- Dominar std::list en C++: Sintaxis, Funciones y Ejemplos Prácticos
- Struct vs Class en C++: Diferencias Clave, Sintaxis y Mejores Casos de Uso