Skip to content

Ichma-ich shartlar (Nested If)

Siz bir if operatorini boshqa bir if operatorining ichiga joylashtirishingiz mumkin. Bu ichma-ich joylashgan if (nested if) operatori deb ataladi.

Ichma-ich if faqat boshqa bir shart allaqachon true (rost) bo'lgandagina yangi shartni tekshirishga imkon beradi.

SINTAKSIS
cpp
if (shart1) {
  // shart1 rost bo'lsa, bajariladigan kod
  if (shart2) {
    // ham shart1, ham shart2 rost bo'lsa, bajariladigan kod
  }
}

Misol

Ushbu misolda biz avval x o'zgaruvchisi 10 dan kattaligini tekshiramiz. Agar shunday bo'lsa, keyin y o'zgaruvchisi 20 dan kattaligini tekshiramiz:

MISOL

cpp
int x = 15;
int y = 25;

if (x > 10) {
  cout << "x soni 10 dan katta\n";

  // Ichma-ich if
  if (y > 20) {
    cout << "y soni ham 20 dan katta\n";
  }
}

Natija:

x soni 10 dan katta
y soni ham 20 dan katta

Hayotiy misol

Ichma-ich if operatorlari bir-biriga bog'liq bo'lgan bir nechta shartlarni tekshirish kerak bo'lganda foydalidir. Masalan, biror kishining ovoz berish uchun yoshi yetarli ekanligini va u fuqarolikiga ega ekanligini tekshirish:

MISOL

cpp
int age = 20;
bool isCitizen = true;

if (age >= 18) {
  cout << "Ovoz berish uchun yosh yetarli.\n";

  if (isCitizen) {
    cout << "Siz fuqarosiz, shuning uchun ovoz bera olasiz!\n";
  } else {
    cout << "Lekin ovoz berish uchun fuqaro bo'lishingiz kerak.\n";
  }
} else {
  cout << "Ovoz berish uchun yosh yetarli emas.\n";
}

Natija:

Ovoz berish uchun yosh yetarli.
Siz fuqarosiz, shuning uchun ovoz bera olasiz!

Muhim eslatmalar

  • Siz xohlagancha if operatorlarini ichma-ich joylashtirishingiz mumkin, lekin kodni juda chuqur qilib yubormaslikka harakat qiling - bu o'qishni qiyinlashtiradi.
  • Ichma-ich if operatorlari ko'pincha murakkab qarorlar qabul qilish jarayonida else va else if bilan birga ishlatiladi.