En este tutorial, aprenderemos sobre la instrucción switch y su funcionamiento en programación C ++ con la ayuda de algunos ejemplos.
La switchdeclaración nos permite ejecutar un bloque de código entre muchas alternativas.
La sintaxis de la switchdeclaració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 expressionevalúa una vez y se compara con los valores de cada caseetiqueta.
- 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 hastabreakque 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… ifescalera. Sin embargo, la sintaxis de la switchdeclaración es más limpia y mucho más fácil de leer y escribir.
Diagrama de flujo de la declaración de cambio
Diagrama de flujo de C ++ switch… declaración de caso
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… caseinstrucció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
charvariable denominada oper. - Luego le pedimos al usuario que ingrese dos números, que se almacenan en las variables flotantes num1 y num2.
- La
switchinstrucció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 breakdeclaración se usa dentro de cada casebloque. Esto termina la switchdeclaración.
Si breakno se utiliza la instrucción, casese ejecutan todos los casos posteriores a la correcta .








