Hata yönetimi
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
-
Operatörü işlemle eşleştir
- +
- Toplama
- -
- Çıkarma
- *
- Çarpma
- /
- Bölme
-
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.
-
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++; }