English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ switch

En este artículo, aprenderá a usar la sentencia ++programación (con ejemplo).

C++ Sentencia switchEjecutar una sola instrucción desde múltiples condiciones. Es similar a crear una sentencia switch en C++enif-else-if.

La sentencia switch es generalmente más rápida que if ... else. Además, la sintaxis de la sentencia switch es más concisa y más fácil de entender.

C ++ Sintaxis de la sentencia switch ... case

switch (n)
{
    case constante1:
        //Si n es igual a constante1, se ejecutará el código;
        break;
    case constante2:
        //Si n es igual a constante2, se ejecutará el código;
        break;
        .
        .
        .
    default:
        // Si n no coincide con ningún valor constante, se ejecutará el código
}

Cuando se encuentre un (constante1, constante2....valor constante) cuando el control de la ejecución del programa se transfiere al bloque de código asociado con el caso.

En el código anterior, se asume que el valor n es igual al valor2. El compilador ejecutará el código asociado con la sentencia case que coincide con el valor2Bloque de código, hasta el final del bloque switch o hasta encontrarSentencia break.

La sentencia break se utiliza para evitar que el código entre en la siguiente situación.

Diagrama de flujo de la sentencia switch...case

La imagen muestra cómo funciona la sentencia switch y cómo se verifican las condiciones en las subórdenes switch case.

Ejemplo: C ++ Sentencia switch

// El programa utiliza la sentencia switch para construir una calculadora simple
#include <iostream>
using namespace std;
int main()
{
    char o;
    float num1, num2;
    cout << "Ingrese un operador (+, -, *, /): ";
    cin >> o;
    cout << "Ingrese dos números operadores: ";
    cin >> num1 >> num2;
    
    switch (o) 
    {
        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:
            // El operador no coincide con ninguno de los (+, -, *, /)
            cout << "¡Error! Operador incorrecto";
            break;
    }
    
    return 0;
}

Resultado de salida

Ingrese un operador (+, -, *, /) +
-
Ingrese dos operandos: 2.3
4.5
2.3 - 4.5 = -2.2

ingresados por el usuario - el operador se almacena en la variable o. Mientras tanto, los dos operandos2.3y4.5se almacenan en la variable num1y num2。

Luego, el control del programa salta a

cout << num1 << " - << num2 << " = " << num1-num2;

Finalmente, la sentencia break; termina la sentencia switch.

Si no se utiliza la sentencia break, se ejecutarán todas las sentencias case que cumplan con las condiciones.