Kaj je izjava o preklopu v C ++?

Izjave primerov preklopov so nadzorovane izjave, ki veljajo kot nadomestek stavkov if-else. Gre za večnamensko vejo izjave, ki omogoča način organiziranja toka izvrševanja v dele kode na podlagi vrednosti izraza. V zelo osnovnem izrazu stavek preklopa ovrednoti izraz, ga preizkusi in primerja z več primeri, zapisanimi v kodi. Takoj, ko bo najdeno ujemanje s katerim koli primerom, bo nadzornik vnesel to zadevo in začel izvajati izjave, napisane v tem primeru, dokler ne najdejo izjave o prekinitvi. Takoj ko se pojavi izjava o prekinitvi, se izjava preklopa konča in programski program zapre stikalo.

Včasih se lahko zgodi, da se noben slučaj ne ujema z vrednostjo izraza. Za takšne primere omenimo privzeti slučaj, ki se bo vedno izvajal, če ni najdeno nobeno ujemanje. Primeri v bloku stavka stališča so predstavljeni z različnimi številkami ali nizom, ki je znan kot identifikator. Vrednost izraza ali vrednosti, ki jo poda uporabnik, se primerja s temi primeri, dokler se ne najde ujemanje.

Sintaksa izjave stikala C ++

Sintaksa za stavek preklopa v programskem jeziku C ++ je podana spodaj-

switch( expression )
(
case value1:
//Block of code;
break;
case value2:
//Block of code;
break;
case valueN:
//Block of code
break;
default:
//Block of code
break;

Pri uporabi izjave o stikalu morate imeti v mislih naslednje stvari:

  1. Oznake primerov so lahko celo število ali znak in morajo biti edinstvene
  2. Etikete na primeru se vedno končajo s podpičjem.
  3. Čeprav privzeta nalepka velikih črk ni obvezna, je lahko kvečjemu enaka, če je definirana.
  4. Za odstranitev nadzora iz zanke potrebujete izjavo o prekinitvi, sicer bodo vsi primeri pred prelomom izvršeni.
  5. Privzeta nalepka nima določenega položaja.
  6. Izjava o stikalu je lahko tudi ugnezdena.

Diagram poteka izjave stikala

Kako deluje Izjava o preklopu v C ++?

Dovolite nam, da razumemo tok nadzora, prikazan na zgornjem diagramu poteka, da bomo bolje razumeli tok izvršitve.

Izraz se prenese s stavčnim stikalom, ki je enak eni od vrednosti primerov. Če vrednost ni enaka, se izvrši privzeti slučaj. Vrednost tega izraza se nato primerja z identifikatorjem primera ali prvim primerom. Če se prvi primer ujema, se izvede blok kode, povezan s prvim primerom. Ko pride do preloma, se izvedba ustavi in ​​izstopite iz stavka stikala. Če pa se zadeva ne ujema, izvršba preide na naslednji primer. Če se ta zadeva ujema, potem drugi blok kode izvede drugače, tok preveri naslednji primer na podoben način. Končno, če se noben slučaj ne ujema, se izvede privzeti kodni blok.

Primeri izjave o preklopu v C ++

Ogledamo nekaj primerov izjave o preklopu v C ++.

Primer # 1

Ta primer bo dal več jasnosti glede uporabe stavčnih stikal.

#include
using namespace std;
int main () (
char grade_report = 'D';
cout << "Your performance is: " << endl;
switch(grade_report) (
case 'A' :
cout << "Outstanding Result!\n" << endl;
break;
case 'B' :
cout << "Excellent Result!\n" << endl;
break;
case 'C' :
cout << "Good Result\n" << endl;
break;
case 'D' :
cout << "Satisfying Result\n" << endl;
break;
case 'F' :
cout << "Poor Result\n" << endl;
break;
default :
cout << "You did not appear for exam\n" << endl;
)
return 0;
)

Izhod:

Vaša uspešnost je: Zadovoljiv rezultat

Primer # 2

Ta primer prikazuje uporabo stavka prekinitve v stikalu. Če izjava o prekinitvi po primeru ni določena, se izvršilni tok nadaljuje, dokler ne naleti na izjavo preloma.

#include
using namespace std;
int main() (
int range_of_number=50;
switch (range_of_number) (
case 10:
case 20:
case 30:
cout << "The number is 10 or 20 or 30 " << endl;
break;
case 50:
case 55:cout << "This case also executes because there is no break " << endl;
cout << "\n" << endl;
case 60:
cout << "The number is either 40 or 50 or 60" << endl;
break;
default:
cout << "The number is greater than 60" << endl; ))

Izhod:

Ta primer se izvršuje tudi zato, ker ni premora
Številka je 40 ali 50 ali 60

Primer # 3

#include
using namespace std;
int main()
(
int x = 10, y = 5;
switch(x==y && x+y<10)
(
case 1:
cout << "hi" << endl;
break;
case 0:
cout << "bye" << endl;
break;
default:
cout << " Hello bye " << endl;
))

Izhod:

Adijo

Primer št. 4

Vstavljena izjava o preklopu

#include
using namespace std;
int main() (
int ID = 300;
int password = 1000;
cout << "Enter Your ID:\n " << endl;
scanf("%d", & ID);
switch (ID) (
case 300:
cout << "Enter your password:\n " << endl;
scanf("%d", & password);
switch (password) (
case 1000:
cout << "Welcome to the portal\n" << endl;
break;
default:
cout << "Enter correct password" << endl;
break;
)
break;
default:
cout << "Enter correct ID" << endl;
break;
))

Izhod:

To bo odvisno od vrednosti, ki jih vnese uporabnik.

Izhod 1:

Vnesite svoj ID: 300
Vnesite geslo: 1000
Dobrodošli na portalu

Izhod 2:

Vnesite svoj ID: 100
Vnesite pravilen ID

Izhod 3:

Vnesite svoj ID: 300
Vnesite geslo: 000
Vnesite pravilno geslo

Zaključek

Vedeti morate, da osnovni tok in funkcionalnost stavčnega stikala ostaneta enaka v vseh programskih jezikih. Razliko je mogoče opaziti le v splošni sintaksi, ki temelji na uporabljenem programskem jeziku.

Priporočeni članki

To je vodnik za izjavo o preklopu v C ++. Tukaj razpravljamo o konceptu, sintaksi, delu in primerih izjave o preklopu v C ++. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Funkcije niza C ++
  2. Kaj je razred predloge v C ++?
  3. Uporaba C ++ v realnem svetu
  4. Vodnik po izjavi primera na Javi
  5. Vodnik po PHP izjavi