Else if Kullanımı

if - else if Kontrol Yapısı

Daha önceki dersimizde if else yapısının kullanımını anlatmıştık.

if (şartımız)

{

 //Doğruysa yapılacak işlemler (if bloğu)

}

else

{

 //Yanlışsa yapılacak işlemler (else bloğu)

}

Yukarıdaki yapı ile tek bir koşulu kontrol edip, doğru olma ya da olmama durumuna göre farklı işlem yaptırabiliyoruz.

Ancak programımızda kontrol etmemiz gereken durumların sayısı 2'den daha fazla ise else if kullanarak, her durumda yapılacakları ayrı ayrı belirtebiliriz.

Örneğin 100 üzerinden girilen öğrenci notunun, 5'lik sisteme çevrilmek istenmesi durumunda else if yapısını şu şekilde kullanabiliriz:

if ( notunuz < 0)
{
 label1.Text = "Hatalı Giriş!";
}
else if (notunuz < 50)
{
 label1.Text = "1";
}
else if (notunuz < 60)
{
 label1.Text = "2";
}
else if (notunuz < 70)
{
 label1.Text = "3";
}
else if (notunuz < 85)
{
 label1.Text = "4";
}
else if (notunuz <= 100)
{
 label1.Text = "5";
}
else
{
 label1.Text = "Hatalı Giriş!";
}

Bu kodların çalışma mantığını şu şekilde düşünmeliyiz. Program çalışmaya başlayıp ilk olarak if satırı ile ve buradaki şart ile karşılaşacak. Bu şart doğru ise if bloğu yapılıp diğer şartlara ve bloklara hiç bakılmayacak. 

Eğer bu şart sağlanmıyorsa, sırayla else if bloklarına bakılacak ve gerçekleşen bir şart varsa o bloktaki işlemler yapılacak. 

Yani yukarıdan aşağı doğru inerken ilk gerçekleşen şart hangisi ise ona ait blok çalışacak, sonrakiler bakılmaksızın atlanacaktır.

Else kısmı yine isteğe bağlıdır ve üstteki şartlardan hiç birinin tutmadığı durumda buraya yazılan işlemler yapılır.

Bu mantığa göre yukarıdaki programın çalışma anını şöyle hayal edelim. Kullanıcı not bilgisi olarak 55 girsin. Bu durumda ilk iki şart tutmamaktadır. Sonraki şartlar ise tutmaktadır. Çünkü 55 sayısı 60'tan küçük olma şartına uyduğu gibi, 70'ten, 85'ten ve 100'den de küçüktür. 

Bu durumda bu şartlara ait blokların herbiri işlenecek midir?

Cevap hayır! Gerçekleşen ilk şart 3. sıradaki şart olacağı için label1'e 3 yazılacak ve diğer bloklar atlanacaktır.

c# else if örnekleri, if else örnekleri, else örnekleri, if else kullanımı

KONU İLE İLGİLİ ÖRNEKLER

Seçilen Kadar Basamağa Sahip Rastgele Sayı Üretme

Bir ComboBox içerisinde 1, 2, 3, 4 seçenekleri var. Buradan seçilen sayı kadar basamağa sahip olacak şekilde rastgele bir sayı üretilecek ve sonuç label1'e yazılacaktır. Örneğin ComboBox'tan 2 seçilirse 10 ile 99 arasında bir sayı üretilecek, 3 seçildiğinde ise 100 ile 999 arasında sayı üretilecektir.

Random nesne1 = new Random();
 
if (comboBox1.Text == "1")
    label1.Text = (nesne1.Next(0, 9)).ToString();
else if (comboBox1.Text == "2")
    label1.Text = (nesne1.Next(10, 99)).ToString();
else if (comboBox1.Text == "3")
    label1.Text = (nesne1.Next(100, 999)).ToString();
else if (comboBox1.Text == "4")
    label1.Text = (nesne1.Next(1000, 9999)).ToString();
Listbox eleman ekleme

ComboBox nesnesinden yapılan seçime göre Listbox'a ilgili ilçeleri ekleyen programı yazınız.

Seçim yapıldığında listBox'ın tüm elemanları Clear metosu ile temizlenmelidir. Ardından Add metodu ile ilçeler tek tek eklenmelidir.

Bölme İşlemi

İki metin kutusuna girilen sayılardan birinci sayı ikinciye bölünerek sonuç label1'e yazılacak. Kutulardan biri boş ise ya da ikinci sayı 0 girilmişse hata verilmelidir.

if (textBox1.Text == "" || textBox2.Text == "" || textBox2.Text=="0")
    label1.Text = "Girilen bilgileri kontrol ediniz.";
else
{
    double a = double.Parse(textBox1.Text);
    double b = double.Parse(textBox2.Text);
    double c = a / b;
    label1.Text = c.ToString();
}
Toplama Oyunu

Toplama işlemini öğretmeye çalışan bir oyun programı yazılacaktır.

Oyuna Başla butonuna tıklandığında bilgisayar 2 tane rastgele sayı üretecek (0 – 100 arasında) ve bu sayıları ekranda görünen labeller içerisine yazacak.

Kullanıcı bu iki sayının toplamını kafadan hesaplayıp bulduğu sonucu sağdaki metin kutusuna girecek ve sonucu gönder butonuna basacak.

“Sonucu Gönder“ butonuna basıldığında kullanıcının girdiği değer kontrol edilecek ve az önce üretilen iki sayının toplamına eşit ise “TEBRİKLER”, aksi halde “HATA” şeklinde mesaj verecek.

Otopark ücreti

Bir otoparka park eden taksinin 1 saati 5TL, minibüsün 1 saati 10TL, ticari aracın 1 saati 15TL’dir. Ayrıca ilk 1 saatten sonraki her saat için %50 daha ücret ödenmesi gerekmektedir. Buna göre klavyeden araç türü ve kalınan saat bilgisi girildikten sonra ekrana ödenecek otopark ücretini yazan programın kodlarını yazınız.

(örneğin bir taksi 3 saat kalırsa ilk saat için 5 TL, diğer saatler için ise 2,5 TL ödeyecek(%50’si 2,5 TL yaptığı için), toplamda da 10 TL ödemiş olacaktır.)

Metin Birleştirme

Kullanıcıdan 0 ile 1000 arasında bir sayı girmesini isteyen ve girilen sayının önüne 0 veya 0’lar ekleyerek  4 basamaklı olacak şekilde label’e yazan promgramı yazınız.

Örneğin kullanıcı 521 girerse, label1’e 0521 yazacak, kullanıcı 63 girerse 0063 yazacak.

Boş Bırakılan Metin Kutusu

Hız=Yol / zaman formülü kullanılarak, butona basıldığında hangi kutu boş bırakılmış ise onu hesaplayarak, o kutu içerisine cevabı yazacak programı yapınız. Hatta boş bırakılan kutuya cevabı kırmızı renkte yazdırabilirsiniz.

(tabi kullanıcının iki kutuyu doldurması gerekiyor.)

ListBox Kullanımı

Yukarıdaki gibi bir formda, iki listbox iki de buton kullanılacaktır. Ekle butonuna tıklandığında soldaki listeden seçilen eleman sağdaki listeye eklenecek, soldakinden de silinecektir.

Aynı şekilde sağdaki listeden bir seçim yapılıp çıkar butonuna basıldığında bu sefer o listeden çıkarılıp soldakine eklenecektir.

(seçim yapmadan butona basıldığında kullanıcı uyarılsın (if(listbox1.selectedIndex==-1))

Metin Birleştirme

Kullanıcı kutulara adını ve soyadı girip cinsiyetini seçecek. Butona bastığında label1 içine şuna benzer bir mesaj yazılacak:

Hoş geldiniz, Bayan Fatma Arslan.



YORUMLAR




20107  kez okundu.

Online Kullanıcı Sayısı 277



Else-if-Kullanımı