Genel

C++ KARAR YAPILARI

Karar yapıları, belirli şartların sağlanıp sağlanmadığını kontrol ederek, program akışını yönlendirir. Örneğin, bir kullanıcının girdiği sıcaklık değerine göre suyun hangi hâlde bulunduğunu ekrana yazdırabiliriz. Bu, bir algoritmanın dinamik çalışma mantığını anlamak için temel bir çalışmadır.

1. If – Else Mantığı

En temel karar yapısı olan if – else, belirli bir koşulun sağlanması veya sağlanmaması durumunda farklı işlevlerin yerine getirilmesini sağlar. Kod yapısı aşağıdaki gibidir:

if (koşul) {
    // Koşul sağlanırsa bu kod çalışır.
} else {
    // Koşul sağlanmazsa bu kod çalışır.
}

2. If – Else If – Else

Birden fazla koşulu kontrol etmek için “else if” yapısı devreye girer. Bu yapı, daha karmaşık mantıkları ele almak için son derece kullanışlıdır.

Bir örnek olarak, klavyeden girilen bir sıcaklık değerine göre suyun hangi hâlde bulunduğunu belirleyen kodu inceleyelim:

#include <iostream>
using namespace std;

int main() {
    int sicaklik;
    cout << "Sıcaklık değerini girin: ";
    cin >> sicaklik;

    if (sicaklik < 0)
        cout << "Katı";
    else if (sicaklik >= 0 && sicaklik < 100)
        cout << "Sıvı";
    else if (sicaklik >= 100 && sicaklik < 10000)
        cout << "Gaz";
    else
        cout << "Plazma";

    return 0;
}

3. Switch Case Yapısı

Switch case, bir değişkenin birden fazla durumu kontrol edilerek çalışan bir karar yapısıdır. Bu yapı, “if-else” bloklarından daha okunabilir bir kod yazımı sunar. Örneğin, bir hesap makinesinde toplama, çıkarma, çarpma ve bölme işlemlerini yapan bir kod parçası yazabiliriz:

#include <iostream>
using namespace std;

int main() {
    char islem;
    cout << "Yapılacak işlemi giriniz (+, -, *, /): ";
    cin >> islem;

    switch (islem) {
        case '+':
            cout << "Toplama işlemi";
            break;
        case '-':
            cout << "Çıkarma işlemi";
            break;
        case '*':
            cout << "Çarpma işlemi";
            break;
        case '/':
            cout << "Bölme işlemi";
            break;
        default:
            cout << "Hatalı giriş.";
    }

    return 0;
}

ÖRNEKLER

  • sıcaklık<0 ise katı
  • Sıcaklık 0 ile 100 arasında ise sıvı
  • Sıcaklık 101 ile 10000 arasında ise gaz
  • Sıcaklık 10000’den büyük ise plazma.
    #include <iostream>
    using namespace std;
    
    int main() {
        int sicaklik;
        cout << "Sicaklik degerini girin: ";
        cin >> sicaklik;
    
        if (sicaklik < 0) // Sıcaklık 0'dan küçükse
            cout << "Kati";
        else if (sicaklik >= 0 && sicaklik < 100) // Sıcaklık 0 ile 100 arasında ise
            cout << "Sivi";
        else if (sicaklik >= 100 && sicaklik < 10000) // Sıcaklık 100 ile 10000 arasında ise
            cout << "Gaz";
        else // Sıcaklık 10000'den büyükse
            cout << "Plazma";
    
        return 0; // Program başarılı bir şekilde sona erdi.
    }
    
    • ortalama>=50 ise öğrenci geçer
    • 70<=ortalama<85 ise öğrenci teşekkür belgesi alır.
    • ortalama>=85 ise öğrenci takdir belgesi alır.
      #include <iostream>
      using namespace std;
      
      int main() {
          int puan; // Öğrenci notu
          cout << "Notu giriniz: ";
          cin >> puan;
      
          if (puan < 50) // Eğer puan 50'den küçükse öğrenci kalır
              cout << "Kaldi";
          else if (puan >= 50 && puan < 70) // Eğer puan 50 ile 70 arasındaysa (70 hariç)
              cout << "Belge yok";
          else if (puan >= 70 && puan < 85) // Eğer puan 70 ile 85 arasındaysa (85 hariç)
              cout << "Tesekkur belgesi";
          else if (puan >= 85 && puan <= 100) // Eğer puan 85 ile 100 arasındaysa
              cout << "Takdir belgesi";
          else // Geçersiz bir puan girildiyse
              cout << "Hatali giris";
      
          return 0; // Program başarılı bir şekilde sona erdi
      }
      
      • 4 işlem hesap makinesi yapalım.
      #include <iostream>
      using namespace std;
      int main()
      {
          char islem;
          cin >> islem;
          switch(islem)
          {
          case '+':
              cout << "Toplama islemi";
              break;
          case '-':
              cout << "Cikarma islemi";
              break;
          case '*':
              cout << "Carpma islemi";
              break;
          case '/':
              cout << "Bolme islemi";
              break;
          default:
              cout << "Hatali giris.";
          }
          return 0;
      }
      

      Bir cevap yazın

      E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir