4.1 – Karar Yapıları: if, else if, else


📘 3.1 – Karar Yapıları: if, else if, else


🔹 Açıklama:

Programlamada çoğu işlem belirli bir koşula bağlı olarak gerçekleşir. C#’ta bu koşulları kontrol etmek ve farklı senaryolarda farklı işlemler yapmak için if, else if, else blokları kullanılır.

Bu yapı sayesinde kullanıcıdan alınan verilere göre:

  • Hatalar engellenebilir,
  • Doğru yönlendirmeler yapılabilir,
  • Seçime bağlı işlemler tanımlanabilir,
  • Gelişmiş etkileşimler sağlanabilir.

Bu bölümde öğrenciler, karar yapılarını hem basit hem de iç içe (nested) şekilde kullanmayı öğrenecekler.


📍 Kullanım Alanları:

  • Yaş kontrolü ve sınıflandırma
  • Not sistemlerinde “Geçti/Kaldı” belirleme
  • Şifre doğrulama ve kullanıcı girişi
  • Ürün indirim koşulları
  • Seçime göre farklı arayüzler oluşturma

🎯 Kazanımlar:

  • Koşullu ifadeleri tanıyıp uygulayabilme
  • if, else if, else bloklarını doğru sırada kullanma
  • Çoklu durumları yönetebilme
  • Gelişmiş kullanıcı etkileşimleri oluşturabilme
  • Kod okunabilirliğini ve kontrol akışını planlayabilme

🧪 3.1 – Karar Yapıları: if, else if, else – Örneklerle Uygulama


📌 Örnek 1: Sıcaklık Değerine Göre Uyarı Verme

🎯 Amaç:
Kullanıcının girdiği sıcaklık değerine göre uygun uyarıyı göstermek.

🎨 Form Elemanları:

  • txtSicaklik (TextBox)
  • btnUyar (Button)
  • lblUyari (Label)

💻 Kod:

private void btnUyar_Click(object sender, EventArgs e)
{
    if (double.TryParse(txtSicaklik.Text, out double derece))
    {
        if (derece < 0)
            lblUyari.Text = "Dikkat! Hava donma noktasının altında.";
        else if (derece >= 0 && derece <= 15)
            lblUyari.Text = "Hava serin, üzerini giy!";
        else
            lblUyari.Text = "Hava güzel, dışarı çıkmak için ideal.";
    }
    else
    {
        MessageBox.Show("Lütfen geçerli bir sıcaklık değeri giriniz.");
    }
}

📝 Açıklama:
Koşullar mantıksal sıralamayla kontrol edildi. Her aralık için uygun mesaj verildi. else if ile alternatif yollar ayrıldı.


📌 Örnek 2: Sınav Notuna Göre Harf Notu Belirleme

🎯 Amaç:
Öğrencinin aldığı nota göre harf karşılığını yazdırmak.

🎨 Form Elemanları:

  • txtNot (TextBox)
  • btnHarfNotu (Button)
  • lblHarf (Label)

💻 Kod:

private void btnHarfNotu_Click(object sender, EventArgs e)
{
    if (int.TryParse(txtNot.Text, out int not))
    {
        if (not >= 90)
            lblHarf.Text = "AA";
        else if (not >= 80)
            lblHarf.Text = "BA";
        else if (not >= 70)
            lblHarf.Text = "BB";
        else if (not >= 60)
            lblHarf.Text = "CB";
        else if (not >= 50)
            lblHarf.Text = "CC";
        else
            lblHarf.Text = "FF (Kaldınız)";
    }
    else
    {
        MessageBox.Show("Lütfen geçerli bir not giriniz.");
    }
}

📝 Açıklama:
Koşulların üstten alta doğru değerlendirilmesi önemlidir. En yüksek nottan başlanır, aksi takdirde mantık hatası oluşabilir.


📌 Örnek 3: Kullanıcı Girişi Doğrulama

🎯 Amaç:
TextBox’a girilen kullanıcı adı ve şifreye göre giriş izni vermek.

🎨 Form Elemanları:

  • txtKullanici (TextBox)
  • txtSifre (TextBox)
  • btnGiris (Button)

💻 Kod:

private void btnGiris_Click(object sender, EventArgs e)
{
    string kullanici = txtKullanici.Text;
    string sifre = txtSifre.Text;

    if (kullanici == "admin" && sifre == "1234")
        MessageBox.Show("Giriş başarılı.");
    else
        MessageBox.Show("Kullanıcı adı veya şifre yanlış.");
}

📝 Açıklama:
Koşullu ifadelerde birden fazla durum && (ve) operatörü ile bağlanabilir. Girilen veriler kontrol edilerek yönlendirme yapılır.


📌 Örnek 4: Sayının Pozitif, Negatif veya Sıfır Olduğunu Belirtme

🎯 Amaç:
Girilen sayının işaretini analiz etmek.

🎨 Form Elemanları:

  • txtSayi (TextBox)
  • btnKontrolEt (Button)
  • lblSonuc (Label)

💻 Kod:

private void btnKontrolEt_Click(object sender, EventArgs e)
{
    if (int.TryParse(txtSayi.Text, out int sayi))
    {
        if (sayi > 0)
            lblSonuc.Text = "Pozitif sayı";
        else if (sayi < 0)
            lblSonuc.Text = "Negatif sayı";
        else
            lblSonuc.Text = "Sayı sıfırdır";
    }
    else
    {
        MessageBox.Show("Lütfen geçerli bir tam sayı giriniz.");
    }
}

📝 Açıklama:
Üç olasılık if – else if – else yapısıyla karşılanır. Bu yapı, öğrencilerin karar bloklarını sağlam oturtması açısından önemlidir.


📌 Örnek 5: CheckBox ile Yaş Doğrulama

🎯 Amaç:
Kullanıcının yaşını girip onay kutusunu işaretlemesine göre işlem yapmak.

🎨 Form Elemanları:

  • txtYas (TextBox)
  • chkOnay (CheckBox)
  • btnDevam (Button)

💻 Kod:

private void btnDevam_Click(object sender, EventArgs e)
{
    if (!chkOnay.Checked)
    {
        MessageBox.Show("Lütfen 18 yaşında olduğunuzu onaylayınız.");
        return;
    }

    if (int.TryParse(txtYas.Text, out int yas))
    {
        if (yas >= 18)
            MessageBox.Show("Giriş yapabilirsiniz.");
        else
            MessageBox.Show("18 yaş altı kullanıcılar giremez.");
    }
    else
    {
        MessageBox.Show("Geçerli bir yaş giriniz.");
    }
}

📝 Açıklama:
Önce CheckBox kontrolü yapılır. Şart sağlanmazsa return ile çıkılır. Bu örnek, kullanıcı izin sistemleri için başlangıç seviyesinde çok değerlidir.


✅ Özet:

Bu bölümle birlikte öğrenciler artık karar yapılarıyla programı yönlendirme becerisi kazandı. Gerçek hayatta karşılaşılan çoğu yazılım mantığı, bu temel üzerinden yükselir.


Leave a Reply