C++ da if, else if haqida gaplashamiz.
Tags: programming, beginners, tutorial, codenewbie
Published: 2023-01-25 08:47:52

if va else if operatorlari haqida gaplashib o'tamiz.


if shart operatri haqida o'tgan maqolada gaplashib o'tganmiz bugun esa yanayam boshqacharoq turini ko'rib o'tamiz. Judayam tushinarli bo'lishligi uchun avval bitta misol yozib olamiz va o'sha misol orqali jarayonni tahlil qilamiz.
**Shart**
Tasavvur qiling bir abuturient o'qishga topshirdi va o'qishga o'tish ballari quyidagi tartibda.
1) 80 balldan yuqori va 100 ballgacha toplasa superkontrakt deb ekranga yozuv chiqsin.
2) 100 baldan 120 balgacha kontrakt deb chiqsin
3) 120 dan baland to'plagan bo'lsa grant deb yozuv chiqsin.

Biz Abuturentni to'plagan balini kiritsak uning balli qaysi katigoryaga kirishini aniqlab beradigan dastur tuzamiz.

```cpp
#include <iostream>

using namespace std;

int main () {

int n;
cin >> n;

if(n>=80){
cout << "Superkontrakt";
}
if(n>=100) {
    cout << "Kontrakt";
  }
if(n>=120){
  cout << "Grand";
}

return 0;
}
```

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3dv4sus4tdootfqg8b6g.png)

Mana e'tibor bering 85 balni kiritgan edik Superkontrakt deb yozuv chiqdi. Endi huddi shu dasturimizga 105 balni kiritib ko'ramiz. Bizni hayolimizda kontrakt degan yozuv chiqishi kerak. Qani tekshirib ko'ramiz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kvr6hgoawhcor2ulotf4.png)

Mana natijani ko'ring ham superkontrakt ham kontrakt degan yozuv ekranga chiqib ketti. Huddi mana shu yerda nima bo'lganini tushintirib o'taman. If operatorining har biri mustaqil operator hisoblanadi. Ya'ni 1 chi if da shart bajarilgan taqdirda ham qolgan if larni tekshirib chiqadi. Va har birining sharti bajarilsa har birining natijasi ekranga chiqariladi. Shuning uchun endi ularning oldidan **else** operatorini qo'shadigan bo'lsa shart bajarilgan zaxoti qolgan else if larni inkor qiladi. Keling endi 1 chi if dan keyingi if lar oldidan else operatorini qo'shamiz va natijaga etibor beramiz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/soyo9wwhjrr9fa4uzruh.png)

Mana natija ekranda lekin baribir natija xato. Biz hoxlagan narsaga erishdik lekin qisman erishdik. Ya'ni birinchi shart bajarilishi bilan qolganlarini inkor qildi. Lekin nega kontrakt emas superkontrakt deb yozuv chiqdi. Jarayonni tushintiraman, 106 ni 1 chi shart bilan solishtirdi 80 dan kattaligi qanoatlantirgandan keyin qolgan shartlarni inkor qildi. Endi buni qanday tuzatishimiz kerak desa qavs ichiga yana shart qo'shish kerak yoki shartni yozish tartibini avval yaxshilab o'ylab keyin yozish kerak. Endi hozir yozgan daturimizni teskarisiga yozib chiqamiz yani 120 baldan boshlab yozamiz va natijani ko'ramiz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/691xfrmdvidoa8c3walp.png)
Mana endi natijamiz to'g'ri ishladi. Mana endi bilib oldingizki ya'ni shart operatorini ishlatish uchun avval misolni yaxshilab o'qib tushinib olish darkor va else if operatori kerak bo'lsa undan agar kerak bo'lmasa faqatgina if ning o'zidan foydalanib ishlashingiz mumkin. Va yana dastur yozish tartibiga ham e'tibor berishni unutmang. Va foydali bo'ldi deb umid qilgan holda maqolamizni yakunlaymiz.  Tursunboev Jamshidbek

@dawroun