📘 4.1 – if-else ve else-if Zincirleri
🔹 Açıklama:
Programlamanın en temel yapı taşlarından biri, koşullu ifadelerdir. C#’ta if
, else if
ve else
yapıları sayesinde uygulamalar yalnızca veri değil, veriye göre karar da verebilir. Bu yapı, programı daha etkileşimli ve mantıklı hale getirir.
if-else
zincirleri, birden fazla koşulun sıralı olarak test edilmesini sağlar. İlk doğru koşulda yapı çalışır ve kalan bloklar atlanır. Bu, özellikle sıralama, sınıflandırma ve durum analizi gibi işlemlerde kullanılır.
📍 Kullanım Alanları:
- Sınav notu sınıflandırma
- Yaş aralığına göre kategori belirleme
- Kademeli indirim sistemleri
- Menü seçimleri ve kullanıcı yönlendirmeleri
- Kademeli puanlama sistemleri
🎯 Kazanımlar:
- Birden fazla durumu sıralı biçimde değerlendirme
else if
ile çoklu seçenekleri yönetmeelse
bloğuyla son durumu yakalama- Kod organizasyonu ve okunabilirliği artırma
- Gerçek hayat senaryolarına uygun yapı kurma
🧪 4.1 – if-else ve else-if Zincirleri: Örneklerle Uygulama
📌 Örnek 1: Yaş Kategorisi Belirleme
🎯 Amaç:
Kullanıcının yaşına göre çocuk, genç, yetişkin veya yaşlı kategorisine ayırmak.
🎨 Form Elemanları:
txtYas
(TextBox),btnKontrol
(Button),lblSonuc
(Label)
💻 Kod:
private void btnKontrol_Click(object sender, EventArgs e)
{
if (int.TryParse(txtYas.Text, out int yas))
{
if (yas < 13)
lblSonuc.Text = "Çocuk";
else if (yas < 20)
lblSonuc.Text = "Genç";
else if (yas < 60)
lblSonuc.Text = "Yetişkin";
else
lblSonuc.Text = "Yaşlı";
}
else
{
MessageBox.Show("Geçerli bir yaş giriniz.");
}
}
📝 Açıklama:
Koşullar sırayla kontrol edilir. İlk sağlanan koşulda işlem yapılır ve diğer bloklara geçilmez.
📌 Örnek 2: Sıcaklık Değerlendirmesi
🎯 Amaç:
Girilen sıcaklık değerine göre kullanıcıyı bilgilendirme.
🎨 Form Elemanları:
txtSicaklik
(TextBox),btnDegerlendir
,lblDurum
(Label)
💻 Kod:
private void btnDegerlendir_Click(object sender, EventArgs e)
{
if (int.TryParse(txtSicaklik.Text, out int derece))
{
if (derece <= 0)
lblDurum.Text = "Donma riski!";
else if (derece <= 15)
lblDurum.Text = "Soğuk hava";
else if (derece <= 30)
lblDurum.Text = "Ilık hava";
else
lblDurum.Text = "Sıcak hava";
}
else
{
MessageBox.Show("Geçerli sıcaklık giriniz.");
}
}
📝 Açıklama:
Burada değer aralıkları dikkatlice sıralanmalı. Yoksa her koşul sağlanabilir ve hatalı çalışır.
📌 Örnek 3: Kademeli İndirim Hesaplama
🎯 Amaç:
Alışveriş tutarına göre farklı indirim oranı uygulamak.
🎨 Form Elemanları:
txtTutar
(TextBox),btnHesapla
,lblSonuc
(Label)
💻 Kod:
private void btnHesapla_Click(object sender, EventArgs e)
{
if (double.TryParse(txtTutar.Text, out double tutar))
{
double indirim = 0;
if (tutar >= 1000)
indirim = 0.20;
else if (tutar >= 500)
indirim = 0.10;
else if (tutar >= 250)
indirim = 0.05;
double indirimTutari = tutar * indirim;
double toplam = tutar - indirimTutari;
lblSonuc.Text = $"İndirimli Tutar: {toplam:C2} (İndirim: {indirimTutari:C2})";
}
else
{
MessageBox.Show("Geçerli bir tutar giriniz.");
}
}
📝 Açıklama:
En yüksek oranı yukarıya yazmak önemlidir. Aksi halde büyük tutarlar daha düşük oranlarla eşleşebilir.
📌 Örnek 4: Harf Notu Dönüştürme
🎯 Amaç:
Numerik notu harf notuna çevirmek.
🎨 Form Elemanları:
txtNot
(TextBox),btnCevir
,lblHarf
(Label)
💻 Kod:
private void btnCevir_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";
}
else
{
MessageBox.Show("Geçerli bir not giriniz.");
}
}
📝 Açıklama:
Burada >=
operatörüyle yukarıdan aşağıya sıralama yapılır. En yüksekten başlamak önemli.
📌 Örnek 5: Kullanıcı Girişi Kontrolü
🎯 Amaç:
Kullanıcı adı ve şifre kontrolü.
🎨 Form Elemanları:
txtKullanici
,txtSifre
(TextBox),btnGiris
,lblDurum
(Label)
💻 Kod:
private void btnGiris_Click(object sender, EventArgs e)
{
string kullanici = txtKullanici.Text;
string sifre = txtSifre.Text;
if (kullanici == "admin" && sifre == "1234")
lblDurum.Text = "Giriş başarılı!";
else if (kullanici == "admin")
lblDurum.Text = "Şifre yanlış!";
else
lblDurum.Text = "Kullanıcı bulunamadı.";
}
📝 Açıklama:
Koşullar birbiriyle ilişkilidir. &&
ile çoklu kontrol, else if
ile alternatif senaryolar kontrol edilir.
✅ Özet:
Bu örneklerle öğrenciler:
- Çoklu koşulları sıralı biçimde kontrol etmeyi öğrenir
- Gerçek kullanıcı senaryolarını modellemeyi kavrar
- Karar yapılarıyla programlara zekâ kazandırmayı başarır