En este tutorial, aprenderemos sobre la instrucción switch y su funcionamiento en programación C ++ con la ayuda de algunos ejemplos.
La switch
declaración nos permite ejecutar un bloque de código entre muchas alternativas.
La sintaxis de la switch
declaración en C ++ es:
switch (expression) ( case constant1: // code to be executed if // expression is equal to constant1; break; case constant2: // code to be executed if // expression is equal to constant2; break;… default: // code to be executed if // expression doesn't match any constant )
¿Cómo funciona la declaración de cambio?
Se expression
evalúa una vez y se compara con los valores de cada case
etiqueta.
- Si hay una coincidencia, se ejecuta el código correspondiente después de la etiqueta coincidente. Por ejemplo, si el valor de la variable es igual a
constant2
, el código siguientecase constant2:
se ejecuta hastabreak
que se encuentra la instrucción. - Si no hay coincidencia,
default:
se ejecuta el código siguiente .
Nota : Podemos hacer lo mismo con la if… else… if
escalera. Sin embargo, la sintaxis de la switch
declaración es más limpia y mucho más fácil de leer y escribir.
Diagrama de flujo de la declaración de cambio

Ejemplo: crear una calculadora con la instrucción switch
// Program to build a simple calculator using switch Statement #include using namespace std; int main() ( char oper; float num1, num2; cout <> oper; cout << "Enter two numbers: " <> 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: // operator is doesn't match any case constant (+, -, *, /) cout << "Error! The operator is not correct"; break; ) return 0; )
Salida 1
Ingrese un operador (+, -, *, /): + Ingrese dos números: 2.3 4.5 2.3 + 4.5 = 6.8
Salida 2
Ingrese un operador (+, -, *, /): - Ingrese dos números: 2.3 4.5 2.3 - 4.5 = -2.2
Salida 3
Ingrese un operador (+, -, *, /): * Ingrese dos números: 2.3 4.5 2.3 * 4.5 = 10.35
Salida 4
Ingrese un operador (+, -, *, /): / Ingrese dos números: 2.3 4.5 2.3 / 4.5 = 0.511111
Salida 5
Ingrese un operador (+, -, *, /):? Introduzca dos números: 2,3 4,5 ¡Error! El operador no es correcto.
En el programa anterior, usamos la switch… case
instrucción para realizar sumas, restas, multiplicaciones y divisiones.
Cómo funciona este programa
- Primero le pedimos al usuario que ingrese el operador deseado. Esta entrada luego se almacena en la
char
variable denominada oper. - Luego le pedimos al usuario que ingrese dos números, que se almacenan en las variables flotantes num1 y num2.
- La
switch
instrucción se utiliza a continuación para comprobar el operador introducido por el usuario:- Si el usuario ingresa
+
, la suma se realiza en los números. - Si el usuario ingresa
-
, se realiza la resta de los números. - Si el usuario ingresa
*
, se realiza la multiplicación de los números. - Si el usuario ingresa
/
, la división se realiza en los números. - Si el usuario ingresa cualquier otro carácter, se imprime el código predeterminado.
- Si el usuario ingresa
Observe que la break
declaración se usa dentro de cada case
bloque. Esto termina la switch
declaración.
Si break
no se utiliza la instrucción, case
se ejecutan todos los casos posteriores a la correcta .