C ++ switch ... case Statement (met voorbeelden)

In deze zelfstudie leren we met behulp van enkele voorbeelden over de instructie switch en de werking ervan in C ++ - programmering.

De switchinstructie stelt ons in staat om een ​​blok code uit te voeren uit vele alternatieven.

De syntaxis van de switchinstructie in C ++ is:

 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 )

Hoe werkt de switch-instructie?

Het expressionwordt één keer geëvalueerd en vergeleken met de waarden van elk caselabel.

  • Als er een overeenkomst is, wordt de bijbehorende code na het overeenkomende label uitgevoerd. Als de waarde van de variabele bijvoorbeeld gelijk is aan constant2, wordt de code erna case constant2:uitgevoerd totdat de breakinstructie wordt aangetroffen.
  • Als er geen overeenkomst is, wordt de code erna default:uitgevoerd.

Opmerking : we kunnen hetzelfde doen met de if… else… ifladder. De syntaxis van de switchinstructie is echter schoner en veel gemakkelijker te lezen en te schrijven.

Stroomschema van Switch Statement

Stroomschema van C ++ switch… case statement

Voorbeeld: maak een rekenmachine met behulp van de switch-instructie

 // 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; )

Uitgang 1

 Voer een operator in (+, -, *, /): + Voer twee cijfers in: 2,3 4,5 2,3 + 4,5 = 6,8

Uitgang 2

 Voer een operator in (+, -, *, /): - Voer twee cijfers in: 2.3 4.5 2.3 - 4.5 = -2.2

Uitgang 3

 Voer een operator in (+, -, *, /): * Voer twee cijfers in: 2,3 4,5 2,3 * 4,5 = 10,35

Uitgang 4

 Voer een operator in (+, -, *, /): / Voer twee cijfers in: 2,3 4,5 2,3 / 4,5 = 0,511111

Uitgang 5

Voer een operator in (+, -, *, /):? Voer twee cijfers in: 2.3 4.5 Fout! De operator is niet correct.

In het bovenstaande programma gebruiken we de switch… caseinstructie om optellen, aftrekken, vermenigvuldigen en delen uit te voeren.

Hoe dit programma werkt

  1. We vragen de gebruiker eerst om de gewenste operator in te voeren. Deze invoer wordt vervolgens opgeslagen in de charvariabele met de naam oper.
  2. Vervolgens vragen we de gebruiker om twee getallen in te voeren, die worden opgeslagen in de zwevende variabelen num1 en num2.
  3. De switchverklaring wordt vervolgens gebruikt om de operator te controleren die door de gebruiker is ingevoerd:
    • Als de gebruiker invoert +, wordt de optelling uitgevoerd op de nummers.
    • Als de gebruiker invoert -, wordt afgetrokken op de getallen.
    • Als de gebruiker invoert *, wordt vermenigvuldiging op de getallen uitgevoerd.
    • Als de gebruiker invoert /, wordt de verdeling op de cijfers uitgevoerd.
    • Als de gebruiker een ander teken invoert, wordt de standaardcode afgedrukt.

Merk op dat de breakinstructie in elk caseblok wordt gebruikt . Dit beëindigt de switchverklaring.

Als de breakinstructie niet wordt gebruikt, worden alle gevallen na de correctie caseuitgevoerd.

Interessante artikelen...