6. if va else

Dasturlarda ko‘pincha biror shartni tekshirishimiz kerak bo‘ladi.

Masalan:

  • foydalanuvchi 18 yoshdami?
  • son musbatmi?
  • ikkita son tengmi?
  • parol to‘g‘rimi?

Bunday holatlarda if ishlatiladi.


if nima?

if ingliz tilida "agar" degan ma'noni anglatadi.

Masalan:

if (yosh >= 18) {
    cout << "Siz voyaga yetgansiz.";
}

Bu kod:

Agar yosh 18 yoki undan katta bo‘lsa, xabarni chiqar.

degan ma'noni anglatadi.


Oddiy if

To‘liq dastur:

#include <iostream>

using namespace std;

int main() {
    int yosh = 20;

    if (yosh >= 18) {
        cout << "Siz voyaga yetgansiz.";
    }

    return 0;
}

Natija:

Siz voyaga yetgansiz.

Chunki 20 >= 18 sharti to‘g‘ri.


Shart bajarilmasa

Masalan:

int yosh = 15;

if (yosh >= 18) {
    cout << "Siz voyaga yetgansiz.";
}

Bu safar hech narsa chiqmaydi.

Chunki:

15 >= 18

noto‘g‘ri.


else

Agar shart bajarilmasa, boshqa kodni bajarish uchun else ishlatiladi.

Masalan:

int yosh = 15;

if (yosh >= 18) {
    cout << "Voyaga yetgansiz.";
}
else {
    cout << "Voyaga yetmagansiz.";
}

Natija:

Voyaga yetmagansiz.

if va else qanday ishlaydi?

Quyidagicha tasavvur qilish mumkin:

Agar shart to‘g‘ri
       ↓
      if
       ↓
  birinchi kod

Aks holda
       ↓
     else
       ↓
  ikkinchi kod

Masalan:

if (yosh >= 18) {
    cout << "Ha";
}
else {
    cout << "Yo‘q";
}

Foydalanuvchidan yosh olish

if va cin ni birga ishlatishimiz mumkin.

#include <iostream>

using namespace std;

int main() {
    int yosh;

    cout << "Yoshingizni kiriting: ";
    cin >> yosh;

    if (yosh >= 18) {
        cout << "Siz voyaga yetgansiz.";
    }
    else {
        cout << "Siz voyaga yetmagansiz.";
    }

    return 0;
}

Masalan, foydalanuvchi:

20

kiritsa:

Siz voyaga yetgansiz.

chiqadi.


Sonni tekshirish

Son musbat yoki manfiy ekanligini tekshirish mumkin.

int son;

cin >> son;

if (son >= 0) {
    cout << "Musbat son.";
}
else {
    cout << "Manfiy son.";
}

Son juft yoki toq ekanligini tekshirish

Buning uchun % operatoridan foydalanamiz.

int son;

cin >> son;

if (son % 2 == 0) {
    cout << "Juft son.";
}
else {
    cout << "Toq son.";
}

Masalan:

10

uchun:

Juft son.

chiqadi.


else if

Ba'zan faqat ikkita variant yetarli bo‘lmaydi.

Masalan, bahoni tekshirishda:

90-100 → A
80-89  → B
70-79  → C
60-69  → D
0-59   → F

Bunday holatda else if ishlatamiz.

int ball;

cin >> ball;

if (ball >= 90) {
    cout << "A";
}
else if (ball >= 80) {
    cout << "B";
}
else if (ball >= 70) {
    cout << "C";
}
else {
    cout << "F";
}

Bir nechta else if

Istagancha else if ishlatish mumkin.

Masalan:

int son;

cin >> son;

if (son > 0) {
    cout << "Musbat";
}
else if (son < 0) {
    cout << "Manfiy";
}
else {
    cout << "Nol";
}

Bu yerda uchta holat bor:

Musbat
Manfiy
Nol

== va = farqi

Bu juda muhim.

= qiymat berish uchun ishlatiladi:

int yosh = 18;

== esa solishtirish uchun ishlatiladi:

if (yosh == 18) {
    cout << "Yosh 18 ga teng.";
}

Ularni aralashtirib yubormang.


Bir nechta shart

Bir nechta shartni && yordamida birlashtirish mumkin.

Masalan:

int yosh = 25;

if (yosh >= 18 && yosh <= 60) {
    cout << "Yosh mos keladi.";
}

Bu yerda ikkala shart ham bajarilishi kerak:

yosh >= 18

va:

yosh <= 60

|| bilan shart

||yoki degani.

Masalan:

int kun;

cin >> kun;

if (kun == 6 || kun == 7) {
    cout << "Dam olish kuni.";
}

Bu yerda kun 6 yoki 7 bo‘lsa, xabar chiqariladi.


Ichma-ich if

Ba'zan if ichida yana if ishlatish mumkin.

Masalan:

int yosh = 20;
bool hujjat = true;

if (yosh >= 18) {
    if (hujjat == true) {
        cout << "Kirish mumkin.";
    }
}

Bunday kodni keyinchalik murakkabroq dasturlarda uchratishingiz mumkin.

Hozircha oddiy if, else va else if ni yaxshi o‘rganish kifoya.


Oddiy login misoli

Foydalanuvchi parol kiritadi.

#include <iostream>

using namespace std;

int main() {
    int parol;

    cout << "Parolni kiriting: ";
    cin >> parol;

    if (parol == 1234) {
        cout << "Xush kelibsiz!";
    }
    else {
        cout << "Parol noto‘g‘ri.";
    }

    return 0;
}

Agar:

1234

kiritilsa:

Xush kelibsiz!

Aks holda:

Parol noto‘g‘ri.

Qavslar

if dan keyingi kodni { } ichiga yozamiz.

Masalan:

if (yosh >= 18) {
    cout << "Voyaga yetgan";
}

Bu qavslar ichidagi kod shart to‘g‘ri bo‘lsa bajariladi.

Bir qatorlik kodlarda qavslarni ba'zan yozmaslik mumkin:

if (yosh >= 18)
    cout << "Voyaga yetgan";

Lekin boshlang‘ich dasturchi sifatida { } qavslarini ishlatishga odatlanish yaxshi.


Amaliy mashqlar

1-mashq

Foydalanuvchidan son oling.

Son musbat yoki manfiy ekanligini aniqlang.


2-mashq

Foydalanuvchidan son oling.

Son juft yoki toq ekanligini aniqlang.


3-mashq

Foydalanuvchidan yoshini oling.

Agar yosh 18 yoki undan katta bo‘lsa:

Kirish mumkin.

aks holda:

Kirish mumkin emas.

chiqaring.


4-mashq

Foydalanuvchidan ikkita son oling.

Qaysi biri katta ekanligini aniqlang.


5-mashq

Foydalanuvchidan ball oling.

Quyidagi natijani chiqaring:

90 va undan yuqori → A
80-89 → B
70-79 → C
60-69 → D
60 dan past → F

Muhim narsalarni eslab qoling

if — shartni tekshiradi.

if (shart) {
    // kod
}

else — shart bajarilmaganda ishlaydi.

if (shart) {
    // kod
}
else {
    // boshqa kod
}

else if — bir nechta holatni tekshirish uchun ishlatiladi.

if (shart1) {
    // kod
}
else if (shart2) {
    // kod
}
else {
    // kod
}

Shartlarda ko‘p ishlatiladigan operatorlar:

==    teng
!=    teng emas
>     katta
<     kichik
>=    katta yoki teng
<=    kichik yoki teng

if C++ dasturlarida qaror qabul qilishning eng asosiy vositalaridan biridir.