Изјава о пребацивању у Ц ++ - Како функционише - Синтакса и примери

Преглед садржаја:

Anonim

Шта је изјава о пребацивању у Ц ++?

Изводи случаја пребацивања су контролирана изјава која се сматра заменом за иф-елсе изјаве. Извод је вишеструке гране који пружа начин организовања протока извршења према деловима кода на основу вредности израза. У врло основном појму, преклопна изјава процењује израз, тестира га и упоређује са неколико случајева написаних у коду. Чим се надје било који случај са било којим случајем, контрола ће ући у тај случај и почети извршавати изјаве написане у том случају док се не нађе изјава о прекиду. Чим се појави изјава о прекиду, изјава прекидача престаје и контрола програма излази из прекидача.

Понекад се може десити да ниједан случај не одговара вредности израза. За такве случајеве спомињемо задани случај који ће се увек извршити у случају да не буде пронађено подударање. Случајеви у блоку преклопне изјаве представљени су различитим бројевима или низом, што је познато као идентификатор. Вриједност израза или вриједности коју пружа корисник успоређује се с тим случајевима док пронађено не одговара.

Синтакса изјаве преклопника Ц ++

Синтакса за изјаву прекидача у програмском језику Ц ++ дата је у наставку-

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;

Морате имати на уму следеће ствари када користите Извод о пребацивању:

  1. Ознаке предмета могу бити цијели број или знак и треба да буду јединствене
  2. Ознаке кућишта увек се завршавају тачком са зарезом.
  3. Иако подразумевана налепница није обавезна, она може бити највише ако је дефинисана.
  4. Потребна вам је изјава о прекиду да бисте преузели контролу из петље, иначе ће се сви случајеви пре прекида извршити.
  5. Подразумевана налепница нема одређеног положаја.
  6. Изјава о пребацивању може се такође угнеждити.

Дијаграм тока изјаве преклопника

Како Свитцх Статемент ради у Ц ++?

Да разумемо ток контроле приказан на горњем дијаграму, како бисмо стекли боље разумевање тока извршења.

Израз се прослеђује са изјавом прекидача која је једнака једној од вредности случајева. У случају да вредност није једнака, извршава се задани случај. Вриједност овог израза се затим упоређује са идентификатором случаја или првим случајем. Ако се први случај подудара, извршава се блок кода повезан са првим случајем. Једном када дође до прекида, извршење се зауставља и изаћи ћете из изјаве прекидача. Међутим, ако се случај не подудара, извршење прелази на следећи случај. Ако се овај случај подудара, онда се други блок кода извршава на други начин, ток провјерава сљедећи случај на сличан начин. На крају, ако ниједан случај не одговара, извршава се задани блок кода.

Примери изјава о пребацивању у Ц ++

Омогућимо да видимо неке примере изјаве о пребацивању у Ц ++.

Пример # 1

Овај пример ће дати више јасноће око употребе изјава о пребацивању.

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

Излаз:

Ваш перформанс је: Задовољавајући резултат

Пример бр. 2

Овај пример приказује употребу исказа прекида у прекидачу. Ако изјава о прекиду није наведена након случаја, ток извршења ће се наставити све док се не нађе у изјави о прекиду.

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

Излаз:

Овај случај се извршава јер нема прекида
Број је 40 или 50 или 60

Пример бр. 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;
))

Излаз:

здраво

Пример бр. 4

Углашени прекидач

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

Излаз:

То ће зависити од вредности које је унео корисник.

Излаз 1:

Унесите свој ИД: 300
Унесите лозинку: 1000
Добродошли на портал

Излаз 2:

Унесите свој ИД: 100
Унесите тачан ИД

Излаз 3:

Унесите свој ИД: 300
Унесите лозинку: 000
Унесите исправну лозинку

Закључак

Морате знати да основни ток и функционалност изјава преклопника остају исти у свим програмским језицима. Разлика се види само у општој синтакси заснованој на кориштеном програмском језику.

Препоручени чланци

Ово је водич за изјаву о пребацивању на Ц ++. Овде смо расправљали о концепту, синтакси, раду и примерима изјава о пребацивању у Ц ++. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -

  1. Ц ++ стринг функције
  2. Шта је класа шаблона у Ц ++?
  3. Примене Ц ++ у стварном свету
  4. Водич за изјаву о случају на Јави
  5. Водич за изјаву о ПХП прекидачу