Skip to content

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:

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

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

cpp
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

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