Dominando la Sentencia Switch-Case en C++: Sintaxis, Flujo y Ejemplos Prácticos
Dominando la Sentencia Switch-Case en C++
Explora la sentencia switch-case en C++ con sintaxis clara, flujo de trabajo paso a paso y un ejemplo de calculadora práctico que demuestra uso real.
La sentencia switch es una herramienta concisa de control de flujo que ejecuta un solo bloque de muchas alternativas basándose en el valor de una expresión.
La sintaxis de la sentencia switch en C++ es:
switch (expresión) { case constante1: // código a ejecutar si // expresión es igual a constante1; break; case constante2: // código a ejecutar si // expresión es igual a constante2; break; . . . default: // código a ejecutar si // expresión no coincide con ninguna constante }
¿Cómo funciona la sentencia switch?
La expresión se evalúa una vez y se compara contra cada etiqueta case.
- Si hay coincidencia, el código siguiente a esa etiqueta se ejecuta hasta que se encuentra un
break. - Si no ocurre coincidencia, se ejecuta el bloque
default.
Nota: Aunque una escalera if…else if puede lograr el mismo resultado, la sintaxis switch es más limpia y fácil de leer.
Diagrama de Flujo de la Sentencia Switch

Ejemplo: Calculadora Simple Usando Switch
#include <iostream> using namespace std; int main() { char oper; float num1, num2; cout << "Ingresa un operador (+, -, *, /): "; cin >> oper; cout << "Ingresa dos números: " << endl; cin >> num1 >> num2; switch (oper) { case '+': cout << num1 << " + " << num2 << " = " << num1 + num2; break; case '-': cout << num1 << " - " << num2 << " = " << num1 - num2; break; case '*': cout << num1 << " * " << num2 << " = " << num1 * num2; break; case '/': cout << num1 << " / " << num2 << " = " << num1 / num2; break; default: cout << "¡Error! El operador no es correcto"; break; } return 0; }
Salida 1
Ingresa un operador (+, -, *, /): + Ingresa dos números: 2.3 4.5 2.3 + 4.5 = 6.8
Salida 2
Ingresa un operador (+, -, *, /): - Ingresa dos números: 2.3 4.5 2.3 - 4.5 = -2.2
Salida 3
Ingresa un operador (+, -, *, /): * Ingresa dos números: 2.3 4.5 2.3 * 4.5 = 10.35
Salida 4
Ingresa un operador (+, -, *, /): / Ingresa dos números: 2.3 4.5 2.3 / 4.5 = 0.511111
Salida 5
Ingresa un operador (+, -, *, /): ? Ingresa dos números: 2.3 4.5 ¡Error! El operador no es correcto.
En este programa, la construcción switch…case dirige el flujo para realizar adición, sustracción, multiplicación o división basándose en la elección del usuario.
Cómo Funciona Este Programa
- Solicita al usuario ingresar el operador deseado, almacenado en
char oper. - Solicita dos valores numéricos, almacenados en
float num1yfloat num2. - Usa
switchpara evaluaroper:+– realizar adición.-– realizar sustracción.*– realizar multiplicación./– realizar división.- Cualquier otro carácter dispara el caso
default, imprimiendo un error.
La sentencia break después de cada caso termina el bloque switch. Omitirla causa "caída" (fall-through), ejecutando casos subsiguientes involuntariamente.
Lenguaje C
- 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 continue en C#: Cómo saltar iteraciones de bucles eficazmente
- Entendiendo la Conversión de Tipos en C++: Implícita, Explícita y Técnicas de Casting
- Dominando los Operadores en C++: Guía Completa con Ejemplos Prácticos
- Comentarios en C++: Mejores Prácticas para Código Legible y Mantenible
- Dominando las Sentencias Condicionales en C++: if, if...else y if...else Anidado Explicados
- Dominando la Sentencia break en C++
- Dominando la Sentencia Continue en C++: Ejemplos Prácticos y Control de Bucles
- Dominando las Funciones en C++: Desde lo Básico hasta Uso Avanzado
- Dominando switch-case en C++: Sintaxis, uso y ejemplos prácticos