Bu bölümde C#’da kontrol ifadelerin nasıl kullanıldığına dair örnekler göreceğiz. Örneklerde if else veya switch case yapıları kullanılacaktır.
Örnek 1: Girilen bir sayının çift veya tek olduğunu bulan program
int sayi; Console.Write("Bir sayı girin:t"); sayi = Convert.ToInt32(Console.ReadLine()); if (sayi % 2 == 0) { Console.WriteLine("{0} çift sayıdır", sayi); } else { Console.WriteLine("{0} tek sayıdır", sayi); } Console.ReadLine();
Örnek 2:1-7 arasında girilen değere göre gün karşılığını veren programı switch case kullanarak yapın.
(1-Pazartesi,2-salı gibi…)
int secim; label: Console.Write("nn (1-7) arasında bir gün değeri girin.:t"); secim = Convert.ToInt32(Console.ReadLine()); switch (secim) { case 1: Console.WriteLine("Pazartesi"); break; case 2: Console.WriteLine("Salı"); break; case 3: Console.WriteLine("Çarşamba"); break; case 4: Console.WriteLine("Perşembe"); break; case 5: Console.WriteLine("Cuma"); break; case 6: Console.WriteLine("Cumartesi"); break; case 7: Console.WriteLine("Pazar"); break; default: Console.WriteLine("Geçersiz seçim tekrar deneyinn"); goto label; } Console.ReadLine();
Örnek 3: Kullanıcının girmiş olduğu karaktere göre hangi kitap türünü seçtiğini bulan programı switch case ile yapın
Seçenekler
B-Bilgisayar
M-Matematik
T-Tarih
İ-İngilizce
kullanıcı eğer bu seçimlerden başka bir seçim yaparsa geçersiz seçim olarak uyarıp tekrar bilgi girişi isteye programı yapın..
char secim; label: Console.Write("nn Seçtiğinin kitabın İlk harfini girin t"); secim = Convert.ToChar(Console.ReadLine()); switch (secim) { case 'B': Console.WriteLine("Bilgisayar"); break; case 'M': Console.WriteLine("Matematik"); break; case 'T': Console.WriteLine("Tarih"); break; case 'İ': Console.WriteLine("İngilizce"); break; default: Console.WriteLine("Geçersiz seçim tekrar deneyinn"); goto label; } Console.ReadLine();
Örnek 4:Alışveriş tutarına göre aşağıda verilen tablodaki indirim miktarını uygulayan programı yapın..
Alışveriş Tutarı | İndirim | Ödenecek Tutar |
---|---|---|
1000 az | 5% | ? |
1000 ile 10000 arası | 8% | ? |
10000’den büyük | 8.5% | ? |
int tutar; double indirim,odenecek; Console.WriteLine("Yapılan alışveriş miktarını girin"); tutar = Convert.ToInt32(Console.ReadLine()); if (tutar <=1000) { indirim = tutar * 0.05; odenecek = tutar - indirim; Console.WriteLine("İndirim Miktarı {0}", indirim); Console.WriteLine("Ödencek Tutar {0}", odenecek); } else if(tutar>1000 && tutar <=10000) { indirim = tutar * 0.08; odenecek = tutar - indirim; Console.WriteLine("İndirim Miktarı {0}", indirim); Console.WriteLine("Ödencek Tutar {0}", odenecek); } else { indirim = tutar * 0.085; odenecek = tutar - indirim; Console.WriteLine("İndirim Miktarı {0}", indirim); Console.WriteLine("Ödencek Tutar {0}", odenecek); } Console.ReadLine();
Switch case örnekleri başka yokmu
http://www.bilisimogretmeni.com/?s=switch+case&x=0&y=0
hocam benim söyle bi sorum olacak for ( x =100 x>=1 x++ ) bunu switch case ile yapcaz ama bizden istenen hatalarını bulmamız nasıl yaparız simdiden cok tesekür ederim
for döngü komutu switch karşılaştırma komutu for ile yapılan işlemi switch ile yapamazsın
static double sayi1 = 0, sayi2 = 0; static byte secim = 0; static void menuy() { Console.Clear(); Console.Write(“1.sayıyı girin:”); sayi1 = Convert.ToDouble(Console.ReadLine()); Console.Write(“2.sayıyı girin:”); sayi2 = Convert.ToDouble(Console.ReadLine()); Console.WriteLine(“1-toplama”); Console.WriteLine(“2-çıkarma”); Console.WriteLine(“3-çarpma”); Console.WriteLine(“4-bölme”); Console.WriteLine(“Seçiminiz ?”); secim = Convert.ToByte(Console.ReadLine()); } static void Main(string[] args) { menuy(); switch (secim) { case 1: { double sonuc = sayi1 + sayi2; Console.WriteLine(“Sonuç={0}”, sonuc); Console.ReadLine(); menuy(); break; } case 2: { double sonuc = sayi1 – sayi2; Console.WriteLine(“Sonuç={0}”, sonuc); Console.ReadLine(); menuy(); break; } case 3: { double sonuc = sayi1 * sayi2; Console.WriteLine(“Sonuç={0}”, sonuc); Console.ReadLine(); menuy(); break; } case 4: { double sonuc = sayi1 /… Read more »
2.kez işlem yapmamasının sebebi tekrardan işlem menüsüne geçmemesi bunu sağlamak için goto komutu ile belirlediğimiz etiketi tekrar yönlendirme yapmak lazım aşağıdaki sayfada verdiğin örneği değiştirip yayınladım
http://www.bilisimogretmeni.com/visual-studio-c/c-ornekleri-metotlarla-dort-islem.html
kontrol et eğer yine sorun varsa yardımcı olmaya çalışırım
1 ile 20 arasında olan, bilgisayarın hafızasında tuttuğu sayıyı bulan switch case prpgramını yazarmısınız
int i = 1, sayi,a;
Random rdn = new Random();
Console.WriteLine(“Lütfen sayı giriniz”);
int rastgele = rdn.Next(0, 20);
while (true)
{
Console.ForegroundColor = ConsoleColor.Yellow;
sayi = int.Parse(Console.ReadLine());
if (i > 10)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(“Tahmin etme sayınızı aştınız(10), Bulunacak sayı:{0}”, rastgele);
break;
}
Console.ForegroundColor = ConsoleColor.Green;
if (sayi == rastgele )
{
Console.WriteLine(i + “.tahmininizde sayıyı buldunuz. “);
break;
}
else
{
if (sayi < rastgele)
{
Console.WriteLine("Lütfen daha büyük bir sayı giriniz");
}
else
{
Console.WriteLine("Lütfen daha küçük bir sayı giriniz");
}
}
i++;
}
Console.ReadLine();