DEV Community

JohnnySenior
JohnnySenior

Posted on

C++ da if, else if haqida gaplashamiz.

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.

#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;
}
Enter fullscreen mode Exit fullscreen mode

Image description

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

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

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
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

Top comments (0)