Istruzione C ++ switch ... case (con esempi)

In questo tutorial, impareremo l'istruzione switch e il suo funzionamento nella programmazione C ++ con l'aiuto di alcuni esempi.

L' switchistruzione ci consente di eseguire un blocco di codice tra molte alternative.

La sintassi switchdell'istruzione in C ++ è:

 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 )

Come funziona l'istruzione switch?

La expressionviene valutata una volta e confrontati con i valori di ciascuna caseetichetta.

  • Se c'è una corrispondenza, viene eseguito il codice corrispondente dopo l'etichetta corrispondente. Ad esempio, se il valore della variabile è uguale a constant2, il codice successivo case constant2:viene eseguito finché breaknon viene rilevata l' istruzione.
  • Se non c'è corrispondenza, default:viene eseguito il codice dopo .

Nota : possiamo fare la stessa cosa con la if… else… ifscala. Tuttavia, la sintassi switchdell'istruzione è più pulita e molto più facile da leggere e scrivere.

Diagramma di flusso dell'istruzione switch

Diagramma di flusso dell'interruttore C ++ … istruzione case

Esempio: creare una calcolatrice utilizzando l'istruzione 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; )

Uscita 1

 Immettere un operatore (+, -, *, /): + Immettere due numeri: 2,3 4,5 2,3 + 4,5 = 6,8

Uscita 2

 Immettere un operatore (+, -, *, /): - Immettere due numeri: 2,3 4,5 2,3 - 4,5 = -2,2

Uscita 3

 Immettere un operatore (+, -, *, /): * Immettere due numeri: 2,3 4,5 2,3 * 4,5 = 10,35

Uscita 4

 Immettere un operatore (+, -, *, /): / Immettere due numeri: 2,3 4,5 2,3 / 4,5 = 0,511111

Uscita 5

Immettere un operatore (+, -, *, /):? Immettere due numeri: 2.3 4.5 Errore! L'operatore non è corretto.

Nel programma sopra, stiamo usando l' switch… caseistruzione per eseguire addizioni, sottrazioni, moltiplicazioni e divisioni.

Come funziona questo programma

  1. Per prima cosa chiediamo all'utente di inserire l'operatore desiderato. Questo input viene quindi memorizzato nella charvariabile denominata oper.
  2. Chiediamo quindi all'utente di inserire due numeri, che vengono memorizzati nelle variabili float num1 e num2.
  3. L' switchistruzione viene quindi utilizzata per verificare l'operatore inserito dall'utente:
    • Se l'utente entra +, viene eseguita l'aggiunta sui numeri.
    • Se l'utente inserisce -, la sottrazione viene eseguita sui numeri.
    • Se l'utente entra *, la moltiplicazione viene eseguita sui numeri.
    • Se l'utente entra /, la divisione viene eseguita sui numeri.
    • Se l'utente immette un altro carattere, viene stampato il codice predefinito.

Si noti che l' breakistruzione viene utilizzata all'interno di ogni caseblocco. Ciò termina l' switchistruzione.

Se l' breakistruzione non viene utilizzata, casevengono eseguiti tutti i casi dopo la corretta .

Articoli interessanti...