C++ | Birlikte Yazılım Öğrenelim Serisi - Çoklu Koşullu Durumlar / Mantıksal Operatörler

YunusEmreOfficial

yedmedya.com.tr
Premium Üye
Yardımsever Üye
Usta Üye
Mesaj
1.384
Çözümler
36
Beğeni
1.001
Puan
1.370
Ticaret Puanı
2
Bu bölümde, C++ dilinde çoklu koşullu durumları yönetmek için mantıksal operatörlerin nasıl kullanılacağını öğreneceğiz. Mantıksal operatörler, birden fazla koşulun bir arada değerlendirilmesini sağlar ve programlarımızda daha karmaşık karar mekanizmaları oluşturmamıza olanak tanır. Daha önceki konularda gerek örneklerde gerekse kısa anlatımıyla bahsetmiştim. Aşağıdaki alıntıdan konuya gidebilirsiniz.

7. Mantıksal Operatörler​


Bu operatörleri hem tekrarlamış olacağız hemde çok koşullu durumlarla öğreneceğiz.

Mantıksal Operatörler​

C++ dilinde üç temel mantıksal operatör vardır:

  1. AND Operatörü (&&): İki koşulun da doğru olması durumunda true döner.
  2. OR Operatörü (||): En az bir koşulun doğru olması durumunda true döner.
  3. NOT Operatörü (!): Koşulun tersini alır. Koşul true ise false, false ise true döner.

Kullanım Örnekleri​

1. AND Operatörü && :​

C++:
Genişlet Daralt Kopyala
#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 20;

    if (a > 5 && b < 30) {
        cout << "Her iki koşul da doğru!" << endl;
    } else {
        cout << "Koşullardan en az biri yanlış." << endl;
    }

    return 0;
}
Gördüğünüz gibi 2 koşuluda kontrol eder. her ikisininde true olması gerekir.

2. OR Operatörü || :​

C++:
Genişlet Daralt Kopyala
#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 40;

    if (a > 15 || b < 50) {
        cout << "En az bir koşul doğru!" << endl;
    } else {
        cout << "Her iki koşul da yanlış." << endl;
    }

    return 0;
}

Bu örnekte gördüğünüz üzere sadece 1 tane'sinin true olması yetiyor.

3. NOT Operatörü ! :​


C++:
Genişlet Daralt Kopyala
#include <iostream>
using namespace std;

int main() {
    bool isRaining = false;

    if (!isRaining) {
        cout << "Yağmur yağmıyor, dışarı çıkabilirsin!" << endl;
    } else {
        cout << "Yağmur yağıyor, dışarı çıkma!" << endl;
    }

    return 0;
}

Bu örnekte ise verilen değerin tam tersini alacağından dolayı, yağmurlu olması durumu false imiş. Yani yağmurlu değilmiş. O zaman kullanıcıya sorarız yağmurlu mu ! sonra yukardaki verilen boolen değişkene bakılır. false yani yağmurlu değil o yüzden if çalışır. Eğer bool isRaining = false; kısmı false değilde true olsaydı else çalışacaktı.

Çoklu Koşullu Durumlar​

Mantıksal operatörler kullanarak birden fazla koşulu bir arada değerlendirebiliriz. Bu sayede çok sayıda if veya else if kullanmak yerine, koşulları birleştirerek daha sade bir yapı oluşturabiliriz. Aşağıda, bir öğrencinin notuna göre sınıf geçip geçmediğini kontrol eden bir örnek verilmiştir:

C++:
Genişlet Daralt Kopyala
#include <iostream>
using namespace std;

int main() {
    int not1, not2, not3;
    cout << "Üç notu girin: ";
    cin >> not1 >> not2 >> not3;

    float ortalama = (not1 + not2 + not3) / 3.0;

    if (ortalama >= 60) {
        cout << "Tebrikler, sınıfı geçtiniz!" << endl;
    } else if (ortalama >= 50 && ortalama < 60) {
        cout << "Sınıfı geçmek için bir şansınız daha var." << endl;
    } else {
        cout << "Üzgünüm, sınıfı geçemediniz." << endl;
    }

    return 0;
}
Gördüğünüz gibi hem 50ye eşit olmasını ve yüksek olmasını kontrol ettirdik hem de 60dan küçük olmasını kontrol ettirdik. Aslında operatör kullanmadan if, elseif'li de yazardık ama 2 işaret koymak daha basit öyle değil mi ?



Bu bölümde, C++ dilinde mantıksal operatörlerin nasıl kullanılacağını ve çoklu koşullu durumların nasıl yönetileceğini öğrendik. Mantıksal operatörler, daha karmaşık karar verme süreçleri oluşturmak için oldukça yararlıdır. Bir sonraki bölümde, döngüler ve tekrar eden işlemler üzerine odaklanacağız.

Not : Olası hata bildirimleri, iletişim veya gelişmelerden erken haber almak için discord kanalıma gelebilirsiniz.​
Linkleri görebilmek için giriş yap veya kayıt ol.
Önemli not: Bu konu ve açacağım diğer konular tamamen kendime ait konular herhangi bir yerden alıntı değildir.
Mmotutkunlarına özel içeriktir.
Lütfen alacaksanız bile kaynak gösteriniz.

Sevgilerle.
 
Şimdi gelelim okuyucularımız için hazırladığım sorularımıza ;
3 düzey olarak soru sormaya karar verdim. Basit orta zor olarak. Zoru anlayıp yapabildiğinizde bu konuyu anladığınızı üzerinde durmayacağınızı anlayın. Ancak basit bile zor geliyorsa, konuyu tekrar okuyun.

Basit Düzey :

1. Soru: Aşağıdaki kod parçasını inceleyin. isRaining değişkeni true ise ekrana ne yazdırılır?

C++:
Genişlet Daralt Kopyala
bool isRaining = true;

if (!isRaining) {
    cout << "Yağmur yağmıyor." << endl;
} else {
    cout << "Yağmur yağıyor." << endl;
}

  • A) Yağmur yağmıyor.
  • B) Yağmur yağıyor.
  • C) Her ikiside çalışır.
  • D) Her ikiside çalışmaz. Boş döner.
  • E) Program hata verir.

Orta Seviye​

2. Soru: Aşağıdaki kod parçası için doğru çıkışı belirleyin. yas 18 ve KimlikID değişkenleri sırasıyla true ve false olarak tanımlandığında, hangi mesaj yazdırılır?

C++:
Genişlet Daralt Kopyala
int yas = 18;
bool KimlikID = false;

if (yas>= 18 && KimlikID) {
    cout << "Giriş yapabilirsiniz." << endl;
} else {
    cout << "Giriş yapamazsınız." << endl;
}

  • A) Giriş yapabilirsiniz.
  • B) Giriş yapamazsınız.
  • C) Her ikiside çalışır.
  • D) Her ikiside çalışmaz. Boş döner.
  • E) Program hata verir.

Zor Seviye​

3.Soru: Aşağıdaki kod parçasında, puan değişkeninin değerine göre hangi mesajın yazdırılacağını belirleyin. puan 75 ise, hangi durum gerçekleşir?
C++:
Genişlet Daralt Kopyala
int puan = 75;

if (puan >= 90) {
    cout << "Aldığınız not: A" << endl;
} else if (puan >= 75 && puan < 90) {
    cout << "Aldığınız not: B" << endl;
} else if (puan >= 60 && puan < 75) {
    cout << "Aldığınız not: C" << endl;
} else {
    cout << "Aldığınız not: D" << endl;
}

  • A) Aldığınız not: A
  • B) Aldığınız not: B
  • C) Aldığınız not: C
  • D) Aldığınız not: D

Cevaplayacak arkadaşımız yokmu ?

:gelistirici-rank:
 
En son bir moderatör tarafından düzenlenmiş:
Geri
Üst