C++ Ders 14[Koşullar kısım 3]

Life Hunter

Lapis Toplayıcısı
En iyi cevaplar
0
Şimdi koşullarda operatörlere göz atalım.


Kod:
int sayi1, sayi2, sonuc;
    cout << "ilk sayi: ";
    cin >> sayi1;
    cout << "ikinci sayi";
    cin >> sayi2;

    sonuc = sayi1 > sayi2;
    if (sonuc)
        cout << "sayi1 buyuk";
Bu örnek önceden yaptığımız örnek ile aynı. sonuc değişkenin de, ">"(büyüktür) operatörü sayesinde sayi1'in sayi2 den büyük olma durumunu kontrol ettik.

Kod:
int sayi1, sayi2, sonuc;
    cout << "ilk sayi: ";
    cin >> sayi1;
    cout << "ikinci sayi";
    cin >> sayi2;

    sonuc = sayi1 < sayi2;
    if (sonuc)
        cout << "sayi1 kucuk";
Aynı şekilde yukarıdaki örnekte olduğu gibi "<" küçüktür operatörü sayesinde sayi1'in sayi2 den küçük olma durumunu da kontrol edebiliriz.


Kod:
int sayi1, sayi2, sonuc;
    cout << "ilk sayi: ";
    cin >> sayi1;
    cout << "ikinci sayi";
    cin >> sayi2;

    sonuc = sayi1 == sayi2;
    if (sonuc)
        cout << "sayi1 ve sayi2 esit";
Bu örnekte önceki örneklerde olduğu gibi sayi1 ile sayi2 karşılaştırılmış. Ama burada, "=="(eşittir) operatörü sayesinde sayi1 ile sayi2 nin eşit olma durumunu kontrol ettik. İkisi aynı değere sahip ise, örneğin kullanıcı sayi1 e 5 ve sayi2 yede 5 girmiş ise, koşula girilecek ve ekrana "sayi1 ve sayi2 esit" yazısı çıkacak.

Bu işlemin tam tersini de yapabilirdik.
Kod:
int sayi1, sayi2, sonuc;
    cout << "ilk sayi: ";
    cin >> sayi1;
    cout << "ikinci sayi";
    cin >> sayi2;

    sonuc = sayi1 != sayi2;
    if (sonuc)
        cout << "sayi1 ve sayi2 esit degil";

Burada yaptığımız iş ise bir önceki örneğin tam tersi. Burada "!="(eşit değildir) operatörü sayesinde sayi1 in sayi2 ye eşit olmama yani farklı olma durumunu kontrol ettik. İkisi farklı değerlere sahip ise, örneğin kullanıcı sayi1 e 5 ve sayi2 yede 10 girmiş ise koşula girilmeyecek.

Bazen koşulları birleştirmemiz gerekebilir. Örneğin iki sayının da pozitif olup olmadığını kontrol etmemiz gerek. Eğer iki sayıda pozitif ise ekrana mesaj çıkartan bir koda ihtiyacımız olabilir. Bu işlemi nasıl yapacağız? "&&" operatörü sayesine bu işlemi gerçekleştirebiliriz.

Kod:
sonuc = sayi1 > 0 && sayi2 > 0;
    if (sonuc)
        cout << "sayi1 ve sayi2 pozitif";
Burada olan şey, && operatörünü kullanarak sağdaki ve soldaki ifadeninde true olması gerektiğini belirttik. Eğer ikisinden birisi false ise sonuc değişkenin değeri false yani 0 olacaktır. Örneğin kullanıcı sayi1 değişkenine 5 girer ve sayi2 değişkenine -4 girerse sonuc değişkenin değeri false olur ve koşula girilmez. Çünkü && operatörünün true değer elde etmesi için, sağındaki ve solundaki ifadelerinde true olması gerek. Ama kullanıcı bir sayıyı negatif girerse yani 0 dan küçük girerse koşullardan biri sağlanmadığı için true değer elde edemeyiz. Ancak iki sayıyı da pozitif yani 0 dan büyük girersek true değer elde ederiz.

Bazı durumlarda ise koşulların ikisinden birisi true ise işlem yapmak isteyebilirsiniz. Bunun için "||" operatörünü kullanıyoruz.
Kod:
sonuc = sayi1 > 0 || sayi2 > 0;
Burada sonuc değişkenin true olması için iki koşuldan birinin true olması gereklidir. Örneğin kullanıcı sayi1 pozitif, sayi2 ye ise negatif sayı girdi. Sorun yok, o ifade true sayılır çünkü iki koşuldan biri sağlanıyor. İkisinin false olduğunu durumlarda yani kii sayınında negatif olduğu durumlarda false değeri elde edilir. Bir tanesi pozitif olsa bile true değeri elde edilecektir.
 
Üst