3-mavzu. Tarmoqlanish va uzilishlarni tashkil etish operatorlari


C++ tilidagi tanlash operatorida e’lon operatorlari ham uchrashi mumkin. Lekin switch


Download 32.35 Kb.
bet10/10
Sana17.09.2023
Hajmi32.35 Kb.
#1679929
1   2   3   4   5   6   7   8   9   10
Bog'liq
3-mavzu. Tarmoqlanish va uzilishlarni tashkil etish operatorlari

C++ tilidagi tanlash operatorida e’lon operatorlari ham uchrashi mumkin. Lekin switch operatori bajarilishida «Sakrab o‘tish» holatlari bo‘lishi hisobiga blok ichidagi ayrim e’lonlar bajarilmasligi va buning oqibatida dastur ishida xatolik ro‘y berishi mumkin:
int k=0,n=0;
cin>>n;
switch (n)
{
int=10; //xato,bu operator hech qachon bajarilmaydi
case 1:
int j=20; //agar n=2 bo‘lsa,bu e’lon bajarilmaydi
case 2:
k+=i+j; //xato, chunki i,j o‘zgaruvchilar noma’lum
}
cout<<k;
Tanlash operatorini qo‘llashga doir yana bir masalani qarab chiqamiz.
Masala. Quyida, sanab o‘tiluvchi turlar va shu turdagi o‘zgaruvchilar e’lon qilingan:
enum Birlik{detsimetr, kilometr, metr, millimetr, santimetr}
float y; Birlik r;
Birlikda berilgan x o‘zgaruvchisining qiymat metrlarda chop qilinsin.
#include
int main()
{
enum Birlik {detsimetr, kilometr, metr, millimetr, santimetr};
float x,y;
Birlik r;
cout<<’’uzunlikni kiriting: x=’’;
cin>>x;
cout<<’’ uzunlik birliklari\n’’;
cout<<’’ 0-detsimetr\n’’;
cout<<’’1-kilometr\n’’;
cout<<’’2-metr\n’’;
cout<<’’3-millimetr\n’’;
cout<<’’4-santimetr\n’’;
cout<<’’uzunlikni birligini tanlang; 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 noto’g’ri kiritildi!’’;
return 0;
}
cout<<y<<’’metr’’;
return 0;
}
Download 32.35 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling