C# Karar Yapıları (if – else)

Yazar: admin
0 Yorum

C# karar yapılarında en temel ögelerden birisi “IF – ELSE” karar yapısıdır. Normal şartlar da Visual Studio C#’ da yazdığınız kodları yukarıdan aşağıya tek tek satır halinde okur ve sırası ile işlem yapar. Bundan dolayı bazı özel durumlar da kodları direk sırasıyla değil de bizim isteğimiz doğrultusun da belirli bir karara ve belirli bir yapıya göre ilerlemesini isteriz. Bu gibi durumlarla karşılaştığınız da “IF/ELSE” karar yapıları sizin en büyük yardımcınız olacaktır.  

 [highlight bgcolor=”#dd3333″ txtcolor=”#ffffff”]IF Yapısı:[/highlight]

If komutu, verilen bir şartın gerçekleşmesi yada gerçekleşmemesi durumunda  belirtilen kodların çalışmasını sağlar. Belirttiğiniz şart sağlanıyorsa (örnek olarak kullanıcıdan bir şifre istediniz ve kullanıcı şifreyi doğru girdi) o halde if komutu devreye girer ve if komutlarını içerisine yazdığınız kodlar çalışır.

Örnek 1 :

File > New Project > Console Application ile yeni bir Konsol projesi oluşturalım. Sisteme kayıtlı bir kullanıcı adı belirleyelim ve bunu bir string içerisin de tutalım.. Daha sonra Console.ReadLine() metodu ile kullanıcıdan sisteme kayıtlı ismini soralım. Kullanıcı bu ismi doğru yazarsa ekrana “Tebrikler Giriş Başarılı” Yazdıralım..

Not: Aşağıda ki kodları her zaman olduğu gibi gene static void Main(string[] args)” metodunun parantezleri içerisine yazıyoruz. Ek olarak if bloğunu uzun uzun kodlarla yazmak yerine “if” yazıp iki defa üst üste “TAB” tuşuna bastığınızda gerekli olan parantezleri ve kod satırını sizin için oluşturacaktır.

            string ad  = "sahinsezgin.com";

            Console.Write("Lütfen Sisteme Kayıtlı İsminizi Giriniz:  ");

            string girilenAd = Console.ReadLine();

            if (girilenAd == ad)
            {
                Console.WriteLine("Giriş Başarılı Tebrikler!");
            }
 
            Console.ReadKey();
  

Satır 1:    Sisteme “ad” isimli bir string ifade tanımladık ve buna “sahinsezgin.com” değerini atadık.
Satır 3:   Console.Write() metodu ile kullanıcıdan ismini girmesini istedik.
Satır 5:   “girilenAd” isminde bir string ifade tanımladık ve bu string ifadeyi Console.ReadLine() metodu ile hafızaya attık.
Satır 7:   If karar yapısını oluşturduk ve if parantezleri içerisine bir koşul yazdık. Sisteme kayıtlı olan isim kullanıcının girdiği isim ile aynı ise “Tebrikler Giriş Başarılı” şeklinde bir yazı yazdır.
Satır 12: Console.ReadKey() metodu ile ekranın hemen kapanmamasını ve “Giriş Başarılı Tebrikler” yazısını görmenizi sağladık. Console.Readkey() metodunun kullanım alanı tabi ki bu değil fakat şuan ekranın kapanmaması için kullanabiliriz.

Programın Çıktısı :

programciktisi-if

 [highlight bgcolor=”#dd3333″ txtcolor=”#ffffff”]IF – ELSE Yapısı:[/highlight]

Yukarıda ki örnekte fark ettiyseniz, kullanıcı ismi doğru olarak girildiğin de bizim istediğimiz yazıyı ekrana yazdırıyor (“tebrikler”) gibi. Fakat kullanıcı ismi yanlış yazıldığında her hangi bir hata veya uyarı vermiyor program direk kapanıyor. O halde kullanıcı ismini yanlış girdiğin de “Hata” vermesini sağlamalıyız ve bu kodları da “else” bloğu içine yazmamız gerekmektedir. O halde yukarı da ki örneği birde içerisinde “else” bloğu bulunacak şekilde tanımlayalım.

Örnek 2 :

            string ad = "sahinsezgin.com";
            Console.Write("Lütfen Sisteme Kayıtlı İsminizi Giriniz:  ");
            string girilenAd = Console.ReadLine();

            if (girilenAd == ad)
            {
                Console.WriteLine("Giriş Başarılı Tebrikler!");
            }

            else
            {
                Console.WriteLine("HATALI KULLANICI ADI !!!");
            }

            Console.ReadKey();

Programın Çıktısı :

programciktisi-if-else

 

 [highlight bgcolor=”#dd3333″ txtcolor=”#ffffff”]IF – ELSE  / ELSE IF Yapısı:[/highlight]

Yukarıda if-else ile 2 farklı örnek yaptık ve bu örnekler de yalnızca tek koşul vardır. Şifre doğru veya Şifre yanlış. Fakat karar yapıları her zaman bu şekilde iki koşul arasında gerçekleşmeyebilir.. Birçok koşul içeren ifadelere yer vermek zorunda kalabilirsiniz. Aşağıda ki örnekte bunu net olarak açıklayacağım.

Örnek 3:

Ufak bir öğrenci not sistemi yapalım. Örnek olarak öğrencinin notu 0-45 arasın da ise ekrana “KALDINIZ”,  Eğer öğrenci notu 45-70 arasında ise “GEÇTİNİZ” ve son olarak öğrenci notu 70-100 arasında ise “GEÇTİNİZ VE BURS KAZANDINIZ” şeklinde bir ifade yazdırmak istiyoruz.  O halde birden çok if else yapısı kullanmamız lazım. Hatta öğrenci 0-100 arasında not girerse sistemin uyarı vermesi lazım yani “Girilen Not Geçerli Değil” şeklinde.. Aşağıda ki kodlarla hemen örneği açıklayalım.

            Console.WriteLine("Lütfen Notunuzu Giriniz:");

            int girilenNot = Convert.ToInt32(Console.ReadLine());

            if (girilenNot <= 45)
            {
                Console.WriteLine("KALDINIZ!");
            }

            else if (girilenNot >= 45 && girilenNot <= 70)
            {
                Console.WriteLine("GEÇTİNİZ");
            }

            else if (girilenNot >= 70 && girilenNot <= 100 )
            {
                Console.WriteLine("TEBRİKLER GEÇTİNİZ VE BURS KAZANDINIZ");
            }

            else
            {
                Console.WriteLine("HATALI NOT GİRDİNİZ");
            }

            Console.ReadKey();

 

Programın Çıktısı : 

screenshot_1

 

[highlight bgcolor=”#dd3333″ txtcolor=”#ffffff”]Proje Kaynak Dosyaları ve Örnekler : [/highlight]

Aşağıda ki proje dosyasını indirdikten sonra Visual Studio ortamında açabilir ve  örnekleri canlı olarak test edebilirsiniz.

[button color=”blue” link=”https://www.sahinsezgin.com/wp-content/uploads/2016/10/KararYapilari-IF-ELSE.rar” size=”bigger” target=”_blank” font=”times” font_weight=”bold” radius=”5″ icon=”brankic-icon-download2″]İNDİR[/button]

Sende Yorum Yaz