C ++ switch ... case Statement (con ejemplos)

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 siguiente case constant2:se ejecuta hasta breakque 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

  1. Primero le pedimos al usuario que ingrese el operador deseado. Esta entrada luego se almacena en la charvariable denominada oper.
  2. Luego le pedimos al usuario que ingrese dos números, que se almacenan en las variables flotantes num1 y num2.
  3. 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.

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 .

Articulos interesantes...