Dasturlarda ko`p hollarda biror bir shartning bajarilishiga (ya`ni bu shart trueqiymat qaytarsa) bog`liq ravishda bir blok, uning bajarilmasligiga asosan esa (ya`ni bu shart false qiymat qaytarsa) boshqa bir blokning bajarilishi talab qilinadi. Misoldagi birinchi tekshirish (BuxoroGol>PaxtakorGol)trueqiymat qaytarsa ekranda bir xabar, false qiymatida esa boshqa bir xabar chiqariladi.
Bunday masalalarni yuqorida ko`rsatilgan usul, ya`ni qator shartlarni tekshirish uchun bir nechta ifoperatorini qo`llash orqali hal qilish mumkin. Dasturning soddaligini ta`minlash uchun elsekalit so`zidan foydalanish mumkin.
if(shart) Ifodaelse Ifoda – misol. elsekalit so`zining ishlatilishi.
//2misol.Ifvaelsekalitso`zlariniishlatilishigaoidmisol # include using namespace std; int main()
{
int BirinchiSon, IkkinchiSon; cout << “Katta sonni kiriting: “; cin >> BirinchiSon;
cout<<“\n Kichik sonni kiriting:”; cin >> IkkinchiSon;
if (BirinchiSon > IkkinchiSon)
cout << “\n Rahmat! \n”; else
cout << “\n Ikkinchisi katta son-ku!”. return 0;
}
NATIJA:
Katta sonni kiriting: 10 Kichik sonni kiriting: 12 Ikkinchisi katta son - ku!
ifoperatoriorqalimurakkabkonstruktsiyalarnihosilqilish.if–else konstruktsiyasida ifodalar blokida ixtiyoriy operatorlarni ishlatishda hech qanday chegara yo`q. Shu jumladan, ifodalar bloki ichida yana if–else operatorlarini ishlatish mumkin. Bu holda bir nechta if operatoridan iborat ichma – ich konstruktsiya hosil bo`ladi.
if(1–shart) { if (2–shart)1–ifodaelse { if (3–shart)2–ifodaelse3–ifoda } } else 4–ifoda. Ushbu bir nechta ifoperatoridan tashkil topgan konstruktsiya quyidagi tartibda ishlaydi: agarda 1–shart va 2–shart rost bo`lsa 1–ifoda bajariladi. Agarda 1–shart rost va 2–shart yolg`on natija qaytarsa, u holda 3–shart tekshiriladi va agarda bu shart rost bo`lsa 2–ifoda, yolg`on bo`lsa esa 3–ifoda bajariladi. Va eng oxiri, agarda 1–shart yolg`on bo`lsa 4–ifoda bajariladi. Bunday murakkab konstruktsiyaga misol 3 – misolda keltirilgan.
– misol. ifoperatori ichki bo`lgan murakkab konstruktsiya.
//3–misol.Ifoperatoriichkibo`lganmurakkabkonstruktsiyagamisol # include < iostream.h> using namespace std; int main() {
// Ikkita son kiritamiz.Ularni BirinchiSon va IkkinchiSon o`zgaruvchilariga beramiz
//Agarda KattaSon qiymati KichikSon qiymatidan katta bo`lsa, katta son kichigiga
//qoldiqsiz bo`linishini tekshiramiz. Agarda u koldiksiz bo`linsa ular teng yoki
//teng emasligini tekshiramiz. int BirinchiSon, IkkinchiSon;
cout<<“Ikkita son kiriting.\n Birinchisi: ”; cin >> BirinchiSon;
cout << “\n Ikkinchisi: “;
cin >> IkkinchiSon;
cout << “\n\n;
if (BirinchiSon>=IkkinchiSon)
if ( (BirinchiSon%IkkinchiSon)==0)
{
if (BirinchiSon==IkkinchiSon.)
cout<< “Ular bir – biriga teng!\n”; else
cout<< “Birinchi son ikkinchisiga”<< “karrali!\n”;
}
else
cout<<“Ikkinchi son katta!\n”; return 0;
}
NATIJA
Ikkita son kiriting Birinchisi: 9
Ikkinchisi: 3
Birinchi son ikkinchisiga karrali!