2011-2012 Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi Hazırlayan : Nuri AVCI www.nuriavci.com
Kontrol İfadeleri C# ta kontrol ifadeleri 3 kategoride toplanır : Seçme ifadeleri : if ve switch İterasyon ifadeleri : for, while, do while ve foreach Atlama ifadeleri : break, continue, goto, return
if else deyimi İf else deyimi sayesinde program içerisinde belirli bir koşul sağlanırsa ifade içerisindeki komutlar çalıştırılır, eğer koşul sağlanmaz ise söz konusu komutlar çalıştırılmaz yada alternatif komutlar çalıştırılır.
İf else kullanımı şu şekildedir ; if(koşul) { komut1; komut2; komut3; ...... } else { komut1; komut2; komut3; ...... }
Bir önceki sayfada yer alan örnekde eğer koşul sağlanırsa 1 Bir önceki sayfada yer alan örnekde eğer koşul sağlanırsa 1. komutlar, sağlanmazsa 2. komutlar çalıştırılır. if veya else'in altında birden fazla komut varsa bu komutları parantez içine almak gerekir. if veya else'in altında tek komut varsa bu komutları parantez içine almak gerekmez. Örnek bir program: using System; class AkisKontrolMekanizmalari { static void Main() { int a=5, b=7; if(a<b) Console.Write("a b'den küçük"); else Console.Write("a b'den küçük değil"); } }
Başka bir örnek program: using System; class AkisKontrolMekanizmalari { static void Main() { int a=5, b=7; if(a<b) { Console.WriteLine("a b'den küçük"); Console.Write(a); } else { Console.WriteLine("a b'den küçük değil"); Console.Write(b); } } }
if else yapılarında else kısmının bulunması zorunlu değildir if else yapılarında else kısmının bulunması zorunlu değildir. Bu durumda sadece koşul sağlandığında birşeyler yapılacak, koşul sağlanmadığında birşeyler yapılmayacaktır. Örnek: using System; class AkisKontrolMekanizmalari { static void Main() { int a=5, b=7; if(a<b) Console.WriteLine("a b'den küçük"); } }
if else bloklarının aşağıdaki gibi kullanımı da mümkündür: using System; class AkisKontrolMekanizmalari { static void Main() { Console.Write("Cinsiyetinizi girin (e, k): "); char cins=Convert.ToChar(Console.ReadLine()); if(cins=='e') Console.Write("Erkeksiniz"); else if(cins=='k') Console.Write("Kızsınız"); else Console.Write("Lütfen cinsiyetinizi doğru giriniz!"); } }
Bu program kullanıcıdan cinsiyetini girmesi istemekte, eğer kullanıcının girdiği harf e ise ekrana Erkeksiniz yazmakta, eğer girdiği harf e değilse ise bu sefer kullanıcının girdiği harfi k mı değil mi diye incelemekte, eğer k girmişse ekrana Kızsınız yazmakta, bunların dışında bir harf girdiğinde de ekrana Lütfen cinsiyetinizi doğru giriniz! yazmaktadır. Bu şekilde bu bloklar daha da uzatılabilir. Yani else if satırının bir tane olması zorunlu değildir. Ancak tabii ki else satırının yalnızca bir tane olması gerekir. C# iç içe if else kullanılmasına izin verir: if(koşul1) { if(koşul2) komut1; else { komut2; komut3; } } else komut4;
İf else örnekleri
Örnek -1 Klavyeden girilen iki sayıdan büyük olanı bulan program. using System; class program { Static void Main(string[] args) int a,b; Console.Write(“1.sayıyı giriniz”); a=Convert.ToInt32(Console.ReadLine()); Console.Write(“2.sayıyı giriniz”); b=Convert.ToInt32(Console.ReadLine()); if (a>b) Console.Write(“1.sayı büyüktür”); if (b>a) Console.Write(“2.sayı büyüktür”); Console.ReadKey(); } } Örnek -1 Klavyeden girilen iki sayıdan büyük olanı bulan program.
Örnek 2 : Klavyeden girilen 5 tane sayıdan en büyüğünü bulan program.
using System; class program { Static void Main(string[] args) int a,b,c,d,e,eb; Console.Write(“1.sayıyı giriniz”); a=Convert.ToInt32(Console.ReadLine()); Console.Write(“2.sayıyı giriniz”); b=Convert.ToInt32(Console.ReadLine()); Console.Write(“3.sayıyı giriniz”); c=Convert.ToInt32(Console.ReadLine()); Console.Write(“4.sayıyı giriniz”); d=Convert.ToInt32(Console.ReadLine()); Console.Write(“5.sayıyı giriniz”); e=Convert.ToInt32(Console.ReadLine()); eb=a; if (b>eb) eb=b; if (c>eb) eb=c; if (d>eb) eb=d; if (e>eb) eb=e; Console.Write(“en büyük sayı:”+eb); Console.ReadKey(); } }
Örnek 3: Klavyeden girilen 5 adet sayıdan en büyük ve en küçük sayıyı bulan ve bu iki sayı arasındaki farkı bulan program.
using System; class program { Static void Main(string[] args) eb=a; if (b>eb) eb=b; if (c>eb) eb=c; if (d>eb) eb=d; if (e>eb) eb=e; ek=e; if (a<ebk) ek=a; if (b<ebk) ek=b; if (c<ebk) ek=c; if (d<ebk) ek=d; Console.Write(“en büyük sayı ile en küçük arasındaki fark :”+(eb-ek)); Console.ReadKey(); } } } using System; class program { Static void Main(string[] args) int a,b,c,d,e,eb,ek; Console.Write(“1.sayıyı giriniz”); a=Convert.ToInt32(Console.ReadLine()); Console.Write(“2.sayıyı giriniz”); b=Convert.ToInt32(Console.ReadLine()); Console.Write(“3.sayıyı giriniz”); c=Convert.ToInt32(Console.ReadLine()); Console.Write(“4.sayıyı giriniz”); d=Convert.ToInt32(Console.ReadLine()); Console.Write(“5.sayıyı giriniz”); e=Convert.ToInt32(Console.ReadLine());
Örnek 5: Klavyeden girilen öğrenci notlarının ortalamasını alıp sonucu geçti kaldı olarak veren program.
Örnek 6: Klavyeden girilen öğrenci notlarına göre teori notunun %40'ı, uygulama notunun %60'ı alınıp çhesaplanan ortalamanın sonucunu (SIFIR,BİR,İKİ,ÜÇ,DÖRT,BEŞ) şeklinde bulan program.
Örnek 7: Klavyeden girilen iki sayının işlemini isteğimize göre yapan program
Örnek 8: ilk olarak ekranda 1-kare 2-dikdörtgen gibi iki seçenek gözüksün.Kullanıcı hangi seçeneği seçerse 1-Alan 2-Çevre seçenekleri ekrana gelsin.Hangi seçimi yaparsa onunla ilgili işlemi yapıp sonucu ekrana yazdırsın.
DEVAMI