CodeBlanks Logo Icon CodeBlanks

Hata yönetimi

C# kursu · Başlangıç · Ders 22/116

try/catch ile geçersiz girdileri güvenle yakalarsın.

Menü ve döngü

Hesap makinesini sürekli çalışır hale getirmek için iki yapıya ihtiyacımız var: bir menü ve bir döngü.

Menü, kullanıcının seçtiği operatöre göre doğru metodu çağırır. C# dilinde menü için switch deyimi uygundur: her case bir operatörü temsil eder. Sürekli çalışma için while döngüsü kullanırız; koşul sağlandıkça döngü döner.

Bu derste switch ve while yapılarını birleştirerek hesap makinesini birden fazla işlem yapacak şekilde geliştireceğiz.

switch case yapısı

switch deyimi bir ifadeyi alır ve eşleşen case etiketine göre dallanır. Hesap makinesinde operatör stringini ("+", "-", "*", "/") switch ile test ederiz.

switch (op)
{
    case "+":
        result = calc.Add(a, b);
        break;
    case "/":
        result = calc.Divide(a, b);
        break;
}

Her case bloğunun sonunda break bulunmalı; aksi halde sonraki case'e düşülür.

Uygulama Menü döngüsünü ekle

ops dizisi üzerinde while ile döngü kur. Her adımda operatörü al, switch ile doğru metodu çağır ve sonucu Console.WriteLine(result) ile yaz. Her case'ten sonra break ekle. Döngü sonunda i++ artırmayı unutma.

Örnek çözümü göster
while döngüsü içinde switch ile her operatöre karşılık gelen metodu çağır.
Örnek çözüm:
using System;

class Calculator
{
    public double Add(double a, double b) { return a + b; }
    public double Subtract(double a, double b) { return a - b; }
    public double Multiply(double a, double b) { return a * b; }
    public double Divide(double a, double b)
    {
        if (b == 0) throw new DivideByZeroException("Sıfıra bölme");
        return a / b;
    }
}

class Program
{
    static void Main()
    {
        var calc = new Calculator();
        // Test için sabit operatör listesi
        string[] ops = { "+", "-", "*", "/" };
        double a = 20;
        double b = 5;
        int i = 0;
        while (i < ops.Length)
        {
            string op = ops[i];
            double result = 0;
            switch (op)
            {
                case "+":
                    result = calc.Add(a, b);
                    break;
                case "-":
                    result = calc.Subtract(a, b);
                    break;
                case "*":
                    result = calc.Multiply(a, b);
                    break;
                case "/":
                    result = calc.Divide(a, b);
                    break;
            }
            Console.WriteLine(result);
            i++;
        }
    }
}

Kendini test et

  1. Operatörü işlemle eşleştir

    +
    Toplama
    -
    Çıkarma
    *
    Çarpma
    /
    Bölme
  2. Sürekli çalışma için hangi döngü kullanılır?

    • for (sabit sayıda adım)
    • if (koşul)
    • try (hata yakalama)
    • while (koşul sağlandıkça)
    Cevabı göster

    while (koşul sağlandıkça) — Doğru; while koşul sağlandıkça döngüyü döndürür.

  3. while koşulunu yaz

    int i = 0;
    while (____) {
        // döngü gövdesi
        i++;
    }
    Cevabı göster
    int i = 0;
    while (i < ops.Length) {
        // döngü gövdesi
        i++;
    }

Başlangıç bölümündeki tüm dersler