ma`nisi yesaplanadi', keyin bul ma’nis case gilt so'zi
menen aji'rati'lg'an menen sali'wti'ri'ladi'. Yeger
wolar ustma-u'st tushsa, sol qatardag'i' ':' belgisinen baslap, toki' break gilt
so'zine shekem bolg'an atqari'ladi' ha'm
basqari'w tarmaqlani'wshi' operatordan keyingi jaylasqan operatorg'a
wo'tedi. Yeger qandayda-bir da
an'latpa_i> menen saykes kelmasa, operatordin’ default
bo'legidegi atqari'ladi'. Soni' atap ko'rsetiw
za'ru'r, operatorda default gilt so'zi tek bir ret du's keliwi mu'mkin.
Mi'sal ushi'n, kiriw ag'i'mi'nan ‚Process dawam etilsinbe?‛ sorawi'na
paydalani'wshi' ta'repinen juwap ali'nadi'. Yeger unamli' juwap olinsa,
ekrang'a ‚Process dawam yetedi!‛ xabari' baspadan shi’g’ari’ladi’ ha'm
programma wo'z jumi'si'n tarmaqlani'wshi' operatordan keyingi
operatorlardi' wori'nlaw menen dawam ettriladi, bolmasa ‚Process
tamamlandi!‛ juwapi' beriledi ha'm programma wo'z jumi'si'n toqtatadi’.
Bunda, paydalani'wshi'ni'n' 'y' yamasa 'Y' juwaplari' processti dawam
yettiriwdi an'latadi', basqa belgiler bolsa tamamlawdi' an'latadi'.
#include
int main()
{
char juwap=' ';
cout<<”Process dawam etsinmi?('y', 'Y') : ”;
cin>>juwap;
switch(juwap)
{
case 'y':
case 'Y':
cout<<” Process dawam yetedi!\n”;
break;
default:
cout<<” Process tamamlandi!\n”;
return 0;
}
… // process
return 0;
}
Uluwma alg'anda, tarmaqlani'wshi' operatorda break ha'm default gilt
isletiw sha'rt yemes. Lekin bul halda operatordi'n' mazmuni' mu'mkin.
Mi'sali', default bo'legi bolmag'an halda, yeger qandaydabir menen ustma-u'st tushmasa, operator hesh
qanday a'mel atqarmasta'n basqari'w tarmaqtani'wshi' operatordan keyingi
operatorg'a wo'tedi. Yeger break bo'lmasa, qandaydabir menen ustma-u'st tu'sken halda, wog'an
saykes keliwshi operatorlar topari'n atqaradi' ha'm ※toqtatpastan‼ keyingi
qatardag'i' operatorlar topari'n wori'nlawg'a wo'tip ketadi. Mi'sali',
joqari'dag'i' mi'salda break operatori' bo'lmasa ha'm processti dawam
yettiriwni tastiyiqlaytug'i'n('Y') juwap bolg'an ta'g'dirde ekrang'a
Process dawam yetedi!
Process tugadi!
Xabarlari' shi'g'adi' ha'm programma wo'z jumi'si'n toqtatadi’(return
operatori'ni'n' atqari'li'wi' na'tiyjesinde).
Tarmaqlani'wshi' operator sanap o’tiliwshi tu'rdegi turaqli’lar menen birge
isletilingende na'tiyje beredi. T o'mendegi programmada ren'ler gammasi'n
kategoriyalaw ma'selesi sheshilgen.
#include
int main()
{
enum Renler {qizil, toq_sari, sari, jasil, kok,
binapshe_guli};
Renler ren;
//...
switch(ren')
{
case qizil:
case toq_sariq:
case sari;
cout<<”I'ssi' gamma saylanadi'. \n”;
break;
case jasil:
case kok:
case binapshe_guli:
cout<<”Suwi'q gamma tan'landi'.\n”;
break;
default:
cout<<”Woq jay bunday ren’ge iye yemes. \n”;
}
return 0;
}
Programma atqari'li'wi'nda basqari'w tarmaqlani'wshi' operatorg'a kelip,
ren' ma`nisi qi'zi'l yamasa toq_sari yamasa sari' bolsa, ‚I'ssi' gamma
tan'landi''' xabari', yeger ren' ma`nisi jasi'l yamasa ko'k yamasa bina'pshe
gu'li bolsa, ekrang'a ‚Suwi'q gamma tan'landi'‛ xabari', yeger ren' ma`nisi
sanap wo'tilgen ma’nislerdan ayri'qsha bolsa, ekrang'a ‚Woq jay bunday
ran’ge iye yemes‚ xabari' baspadan shi’g’ari’ladi’ ha'm programma wo'z
jumi'si'n toqtatadi’.
switch operatori'nda dag'aza operatorlari' da du's keliwi mu'mkin. Lekin
switch operatori' atqari'li'wi'nda ※sekirip wo'tiw‼ jag'daylari' boli'wi'
yesabi'na blok ishindegi ayi'ri'm dag'azalar atqari'lmasligi ha'm buni'n'
a'qibetinde programma jumi'si'nda qa'telik ju'z beriwi mu'mkin:
//…
int k=0, n=0;
cin>>n;
switch(n)
{
int=10;//qa’te, bul operator hesh qashan atqari'lmaydi'
case 1:
int j=20;//yeger n=2 bolsa, bul dag'aza atqari'lmaydi'
case 2:
k+=i+j;//qa’te, sebebi i, j wo'zgeriwshiler belgisiz
}
cout<
//…
Ma'sele. To'mende, sanap o’tiliwshi tu'rler ha’m sol tu'rdegi
wo'zgeriwshiler dag'aza yetilgen:
enum Birlik{detsimetr,kilometr,metr,millimetr,santimetr};
float y;
Birlik r;
Birlikde berilgen x wo'zgeriwshisinin' ma’nis metrlerde baspadan
shig’arilsin.
#include
int main()
{
enum Birlik{detsimetr,kilometr,metr,millimetr, santimetr};
float x, y;
Birlik r;
cout<<”uzunlikni kiritin': x=”;
cin>>x;
cout<<”uzi'nli'q birlikleri\n”;
cout<<”0-detsimetr\n”;
cout<<”1-kilometr\n”;
cout<<”2-metr\n”;
cout<<”3-millimetr\n”;
cout<<”4-santi'metr\n”;
cout<<”uzunlikni birligini saylan'; r=”;
cin>>r;
switch(r)
{
case detsimetr:
y=x/10;
break;
case kilometr:
y=x*1000;
break;
case metr:
y=x;
break;
case millimetr:
y=x/1000;
break;
case santimetr:
y=x/100;
break;
default:
cout<<”uzunlik birligi naduri's kirgizildi!”;
return 0;
}
cout<
return 0;
}