bool b = true;
int i = b;
cout << b << endl;
cout << i << endl;
4.1.if – shart operatori Key Point. if – shart operatori dasturga hisoblash uchun maxsus alternative tanlov qismni belgilovchi tuzilma. Dastur tuzish davomida ko`p hollarda masalani yechimini topish bir nechta holatlar uchun bajarilishiga duch kelamiz. C++ da tanlash operatorlarining bie necha xili mavjud: bir yo`nalishli if operatori, ikki yo`nalishli if-else operatori, ichma-ich if operatorlar, switch operatori va shartli ifodalar.
Bir yo`nalishli if operatori shart faqat bitta (true) bo`lgan holatlarda ishlaydi. Uning yozilish qoidasi quyidagicha:
if (mantiqiy ifoda)
{
ko`rsatma satri (s);
}
4.1 (a) rasmdagi blok-sxemada C++ da if operatorining ishlash tartibi tasvirlangan. Blok-sxema – dasturdagi qadamlar va bajarilish qismlarini ko`rsatkichli chiziqcha yordamida bog`lagan holda tasvirlovchi diagramma. Bu shakllardagi bajarilish qismlari o`zida operatsiyalarni ifodalaydi va yo`nalish chiziqlari dasturning boshqaruv yo`lini ko`rsatadi. Romb shakli mantiqiy qiymatni aniqlash uchun va to`rtburchak shakli ko`rsatmalarni bajarishni ko`rsatish uchun foydalaniladi.
4.1-rasm. Agar mantiqiy ifoda rost qiymatni qabul qilsa, if operatori berilgan ko`rsatmani ishga tushiradi Agar mantiqiy ifoda true qiymat qabul qilsa, blok ichidagi ko`rsatmalar bajariladi. Misol sifatida quyidagi kodni ko`rib chiqamiz:
if(radius >= 0)
{
yuza = radius * radius * PI;
cout << "Aylana yuzasi" << radius << " radius bo`yicha"<< yuza << ” ga teng” << endl;
}
4.1(b) – rasmda agar radiusning qiymati 0 dan katta yoki 0 ga teng bo`lsa blok ichidagi ko`rsatma bajariladi, ushbu ikki shartdan boshqa holatda blokdagi ko`rsatma bajarilmaydi.
Mantiqiy ifoda qavslar ichida yozilishi kerak. Quyida keltirilgan (a) shakldagi koddagi mantiqiy ifoda noto`g`ri yozilgan, (b) shakldagi kodda esa to`g`ri yozilgan.
Shart operatorining bajarilishida uning tanasini belgilash uchun figural qavslar ({ va })dan foydalanish mumkin. Agar dasturda faqat bir yoqlama shart operatori bo`lsa va undan keyin ushbu shartga tegishli bo`lgan boshqa bajariluvchi ifodalar bo`lmasa bu qavslardan foydalanish shart emas. Bunga quyidagicha misol keltirish mumkin:
Quyidagi kodli ro`yxatda foydalanuvchi tomonidan butun son kiritilishi ko`rsatilgan. Agar son 5 ga qoldiqsiz bo`linsa “5 ga karrali” degan gap, agar 2 ga qoldiqsiz bo`linsa, “Juft son” degan gap ekranga chiqariladi.
3.1-kodli royxat. ifoperator.cpp 1 #include 2 using namespacestd;
3
4 int main()
5 {
6 // Foydalanuvchini butun son kiritishga undash
7 int son;
8 cout << "Butun sonni kiriting: ";
9 cin >> son;
10
11 if (son % 5 == 0)
12 cout << "5 ga karrali"<< endl;
13
14 if(son % 2== 0)
15 cout << "Juft son"<< endl;
16
17 return 0;
18 }