İç İçe İf Kullanımı

İç içe if kullanımı

Bazı durumlarda bir şartın gerçekleşmesi halinde başka şartların da kontrol edilmesi gerekir. Bunun için if yapısının ilgili bloğunda başka bir if yapısı kullanabiliriz.

İç içe if kullanırken en çok dikkat etmemiz gereken şey parantezleri karıştırmamaktır. Açtığımız her if bloğunun süslü parantezlerinin açılış ve kapanışını hemen yapmak, sonra içlerini doldurmak hata sayısını azaltacaktır.

Ayrıca satır girintilendirmeyi de düzgün kullanmak işimizi kolaylaştıracaktır.

Aşağıdaki örnek yapıda, dıştaki if yapısının hem birinci bloğunda, hem de else bloğunda birer if daha açılmıştır. İhtiyaca göre bu yapı daha uzun ya da kısa olabilir. Hatta içteki if bloklarının içine de başka if blokları açılabilir.

Örnek iç içe if yapısı:

if ( şart-1 )

{

if ( şart-A )
{
 //şart-1 ve şart-A gerçekleştiğinde yapılacak işlemler
}
else if ( şart-B )
{
 //şart-1 ve şart-B gerçekleştiğinde yapılacak işlemler
}
else
{
 //şart-1 gerçekleşip şart-A ve şart-B gerçekleşmediğinde yapılacak işlemler
}

}
else if ( şart-2 )
{

if ( şart-C )
{
 //şart-2 ve şart-C gerçekleştiğinde yapılacak işlemler
}
else if ( şart-D )
{
 //şart-2 ve şart-D gerçekleştiğinde yapılacak işlemler
}
else
{
 //şart-2 gerçekleşip şart-C ve şart-D gerçekleşmediğinde yapılacak işlemler
}

}

 

iç içe if örnekleri, if else örnekleri, if içinde if, else içinde if kullanımı

KONU İLE İLGİLİ ÖRNEKLER

İç içe if örneği

Kullanıcı üç metin kutusuna notlarını girsin. Bu notların ortalaması hesaplanıp "Geçti" veya "Kaldı" şeklinde sonuç yazılsın.

Kutulardan herhangi biri boş ise hata mesajı verilsin.

Kutulardan herhangi birine 0'dan küçük veya 100'den büyük sayı girilmiş ise de hata mesajı verilsin.

Öncelikle kutuların boş olup olmadığına bakmalıyız. Kutuların üçü de dolu ise değişkenlere sayıları alabiliriz. Ardından da sayıların 0 ile 100 arasında olup olmadığına bakmalıyız. 

Çözüm:

if(textBox2.Text=="" || textBox3.Text=="" || textBox4.Text=="")
{
   MessageBox.Show("Not bilgisi eksik girildi.");
}
else
{
 
   int a = int.Parse(textBox2.Text);
   int b = int.Parse(textBox3.Text);
   int c = int.Parse(textBox4.Text);
 
if (a < 0 || a > 100 || b < 0 || b > 100 || c < 0 || c > 100)
{
   MessageBox.Show("Notlar hatalı girildi");
}
else
{
   float ort = (a + b + c) / 3;
 
if (ort < 50)
{
label2.Text = "Kaldınız";
}
else
{
label2.Text = "Geçtiniz";
}
}
}

 

İç içe if örneği

İç içe if örneği

Yukarıda 1. resimde formun görüntüsü, 2. resimde ise combobox'ın açılmış hali görülmektedir.

Buna göre kullanıcıdan alınacak bilgilere göre giriş fiyatı hesaplanacaktır. Şartlar aşağıdaki gibidir:

Normal: İndirim yok, 5 TL

Öğrenci: %50 indirim, 2,50 TL. Yaşı 30'dan büyükse indirim yok.

Öğretmen: %30 indirim, 3,50 TL. Yaşı 20'den küçük ve 65'ten büyükse indirim yok.

Asker: %50 indirim, 2,50 TL. Yaşı 20'den küçük ve 40'tan büyükse indirim yok.

Engelli: %75 indirim, 1,25 TL

Yaşlı: %25 indirim, 3,75 TL. Yaşı 60'tan küçükse indirim yok.

Gazi: %100 indirim, 0 TL. Yaşı 20'den küçükse indirim yok.

Yukarıda belirtilen durumlara göre ücreti hesaplayan programı yazalım. Bu arada seçim yapılmamışsa da hata mesajı verilecektir.

private void button1_Click_1(object sender, EventArgs e)
        {
            int yasiniz = int.Parse(textBox2.Text);
 
            if (comboBox1.SelectedIndex == -1)
            {
                label1.Text = "Seçim yapmadınız.";
            }
            else if (comboBox1.SelectedIndex == 0)
            {
                label1.Text = "5,00 TL";
            }
            else if (comboBox1.SelectedIndex == 1)
            {
                if (yasiniz < 30)
                {
                    label1.Text = "2,50 TL";
                }
                else
                {
                    label1.Text = "5,00 TL";
                }
            }
            else if (comboBox1.SelectedIndex == 2)
            {
                if (yasiniz >= 20 && yasiniz <= 65)
                {
                    label1.Text = "3,50 TL";
                }
                else
                {
                    label1.Text = "5,00 TL";
                }
            }
            else if (comboBox1.SelectedIndex == 3)
            {
                if (yasiniz >= 20 && yasiniz <= 40)
                {
                    label1.Text = "2,50 TL";
                }
                else
                {
                    label1.Text = "5,00 TL";
                }
            }
            else if (comboBox1.SelectedIndex == 4)
            {
                if (yasiniz >= 60)
                {
                    label1.Text = "3,75 TL";
                }
                else
                {
                    label1.Text = "5,00 TL";
                }
            }
            else if (comboBox1.SelectedIndex == 5)
            {
                
                    label1.Text = "1,25 TL";
            }
            else if (comboBox1.SelectedIndex == 6)
            {
                if (yasiniz >= 20) label1.Text = "0,00 TL";
                else label1.Text = "5,00 TL";
            }
 
 
        }

 



YORUMLAR




17465  kez okundu.

Online Kullanıcı Sayısı 84