Shartlarda mantiqiy operatorlar
Siz mantiqiy operatorlar yordamida shartlarni birlashtirishingiz yoki teskarisiga o'zgartirishingiz mumkin. Ular murakkabroq qarorlarni qabul qilish uchun if, else va else if operatorlari bilan birga ishlaydi.
&&(VA / AND) - barcha shartlar rost bo'lishi kerak.||(YOKI / OR) - kamida bitta shart rost bo'lishi kerak.!(EMAS / NOT) - shartni teskarisiga o'zgartiradi (true→false,false→true).
VA (&&) operatori
Har ikkala shart ham rost bo'lishi kerak bo'lganda VA (&&) operatoridan foydalaning:
MISOL
a o'zgaruvchisi b dan kattaligini va c o'zgaruvchisi a dan kattaligini tekshiring:
int a = 200;
int b = 33;
int c = 500;
if (a > b && c > a) {
cout << "Har ikkala shart ham rost";
}YOKI (||) operatori
Kamida bitta shart rost bo'lishi yetarli bo'lganda YOKI (||) operatoridan foydalaning:
MISOL
a o'zgaruvchisi b dan kattaligini yoki a o'zgaruvchisi c dan kattaligini tekshiring:
int a = 200;
int b = 33;
int c = 500;
if (a > b || a > c) {
cout << "Kamida bitta shart rost";
}EMAS (!) operatori
EMAS (!) operatori shart natijasini teskarisiga o'zgartiradi:
- Agar shart true bo'lsa,
!uni false qiladi. - Agar shart false bo'lsa,
!uni true qiladi.
Bu biror narsaning sodir bo'lmaganligini tekshirish kerak bo'lganda foydalidir:
MISOL
a o'zgaruvchisi b dan katta emasligini tekshiring:
int a = 33;
int b = 200;
if (!(a > b)) {
cout << "a o'zgaruvchisi b dan katta EMAS";
}Hayotiy misol
Haqiqiy dasturlarda mantiqiy operatorlar ko'pincha kirishni boshqarish (access control) uchun ishlatiladi. Masalan, tizimga kirish uchun maxsus talablar mavjud:
Foydalanuvchi tizimga kirgan bo'lishi kerak va u yo admin bo'lishi, yo yuqori xavfsizlik darajasiga (1 yoki 2) ega bo'lishi kerak:
MISOL
bool isLoggedIn = true;
bool isAdmin = false;
int securityLevel = 3; // 1 = eng yuqori
if (isLoggedIn && (isAdmin || securityLevel <= 2)) {
cout << "Kirishga ruxsat berildi.";
} else {
cout << "Kirish rad etildi.";
}
// Sinab ko'ring: securityLevel ni 1 yoki 2 ga o'zgartirsangiz - "Ruxsat berildi" chiqadi.
// Agar isAdmin o'zgaruvchisini true qilsangiz ham ruxsat beriladi.