Yükleniyor...

C# Karar Yapıları (if, else, switch)

C#’ta karar yapıları: if, else if, else ve switch ile koşullara göre farklı işlemler yapmayı öğrenin.

Programlamada çoğu zaman belirli koşullara göre farklı işlemler yapmak gerekir. C# dilinde bu tür durumlar için karar yapıları (decision structures) kullanılır. En yaygın kullanılanları if, else if, else ve switch yapılarıdır.


if Yapısı

if ifadesi, belirtilen koşul true (doğru) olduğunda çalışır.


int sayi = 10;

if (sayi > 5)
{
    Console.WriteLine("Sayı 5'ten büyüktür.");
}

Koşul yanlış ise (örneğin sayi = 3), blok çalıştırılmaz.


if - else Yapısı

Koşul doğru değilse alternatif kodu çalıştırmak için else kullanılır.


Console.Write("Notunuzu giriniz: ");
int not = int.Parse(Console.ReadLine()); // string'den int'e dönüştürme

if (not >= 50)
{
    Console.WriteLine("Geçtiniz.");
}
else
{
    Console.WriteLine("Kaldınız.");
}

if - else if - else

Birden fazla koşulu ardışık olarak kontrol etmek için else if kullanılır.


int puan = 75;

if (puan >= 90)
{
    Console.WriteLine("Not: AA");
}
else if (puan >= 70)
{
    Console.WriteLine("Not: BB");
}
else if (puan >= 50)
{
    Console.WriteLine("Not: CC");
}
else
{
    Console.WriteLine("Kaldınız");
}

switch Yapısı

Bir değişkenin farklı sabit değerlerine göre dallanma yapmak için switch kullanılır. Özellikle çok sayıda else if olduğunda daha okunaklıdır.


Console.Write("Gün numarası giriniz (1-7): ");
int gun = int.Parse(Console.ReadLine());

switch (gun)
{
    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 gün!");
        break;
}

Kullanıcı Girdisi ile Karar Yapıları

Karar yapıları genellikle kullanıcıdan alınan girdilere göre çalışır.


Console.Write("Bir sayı giriniz: ");
int sayi = int.Parse(Console.ReadLine());

if (sayi % 2 == 0)
{
    Console.WriteLine("Sayı çifttir.");
}
else
{
    Console.WriteLine("Sayı tektir.");
}

Özet


Menü Örneği: if, else if, else ve switch Kullanımı

Bu örnekte, konsolda çalışan basit bir menü sistemi hazırlanmıştır. Kullanıcı bir seçim yapar, if / else if / else yapısı ile seçim kontrol edilir ve switch yapısı ile istenen matematiksel işlem gerçekleştirilir. Böylece koşul ve seçim yapılarının bir arada nasıl kullanılabileceği gösterilmektedir.


using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("=== Menü ===");
        Console.WriteLine("1 - Toplama");
        Console.WriteLine("2 - Çıkarma");
        Console.WriteLine("3 - Çarpma");
        Console.WriteLine("4 - Bölme");
        Console.WriteLine("0 - Çıkış");
        Console.Write("Seçiminizi giriniz: ");

        int secim = int.Parse(Console.ReadLine()); // string'den int'e dönüştürme

        // if - else if - else ile kontrol
        if (secim == 0)
        {
            Console.WriteLine("Programdan çıkılıyor...");
        }
        else if (secim >= 1 && secim <= 4)
        {
            Console.Write("Birinci sayıyı giriniz: ");
            double sayi1 = double.Parse(Console.ReadLine());

            Console.Write("İkinci sayıyı giriniz: ");
            double sayi2 = double.Parse(Console.ReadLine());

            // switch ile işlem seçimi
            switch (secim)
            {
                case 1:
                    Console.WriteLine($"Sonuç: {sayi1 + sayi2}");
                    break;
                case 2:
                    Console.WriteLine($"Sonuç: {sayi1 - sayi2}");
                    break;
                case 3:
                    Console.WriteLine($"Sonuç: {sayi1 * sayi2}");
                    break;
                case 4:
                    if (sayi2 != 0)
                        Console.WriteLine($"Sonuç: {sayi1 / sayi2}");
                    else
                        Console.WriteLine("Hata: Sıfıra bölme yapılamaz!");
                    break;
            }
        }
        else
        {
            Console.WriteLine("Geçersiz seçim yaptınız.");
        }
    }
}