1.5 – İlk Hesap Makinesi Uygulaması


📘 1.5 – İlk Hesap Makinesi Uygulaması


🔹 Açıklama:

Windows Forms ile yazılabilecek ilk anlamlı ve işlevsel uygulamalardan biri, basit dört işlem yapan bir hesap makinesidir. Bu örnek, kontroller arası veri akışını, olay tetikleme mantığını, if bloklarını, ComboBox veya RadioButton seçeneklerini ve veri doğrulama adımlarını tek bir projede birleştirerek öğretici bir çalışma sunar.

Bu başlıkta öğrenciler:

  • Toplama, çıkarma, çarpma, bölme işlemlerini gerçekleştirecek,
  • Form arayüzü tasarımıyla kullanıcı deneyimini iyileştirecek,
  • Giriş doğrulaması (hatalı/boş giriş) yapacak,
  • Sonucu dinamik olarak Label üzerinde gösterecek.

📍 Kullanım Alanları:

  • Temel hesap araçları
  • Sayısal veri girişlerinin işlenmesi
  • Matematiksel eğitim uygulamaları
  • Mobil ya da masaüstü finans yazılımlarının aritmetik modülleri

🎯 Kazanımlar:

  • Giriş verileriyle işlem yapma
  • Olaylara tepki üretme (buton tıklama)
  • Kontrolleri bir arada kullanarak uygulama tasarlama
  • Sonuçları kullanıcıya uygun biçimde sunma

🧪 Uygulama: Dört İşlem Hesap Makinesi


🎨 Tasarım:

Form üzerinde:

  • 2 adet TextBox: txtSayi1, txtSayi2
  • 1 adet ComboBox: cmbIslem (içeriği: +, -, *, /)
  • 1 adet Button: btnHesapla
  • 1 adet Label: lblSonuc

💻 Kod:

private void Form1_Load(object sender, EventArgs e)
{
    cmbIslem.Items.Add("+");
    cmbIslem.Items.Add("-");
    cmbIslem.Items.Add("*");
    cmbIslem.Items.Add("/");
    cmbIslem.SelectedIndex = 0;
}

private void btnHesapla_Click(object sender, EventArgs e)
{
    bool s1 = double.TryParse(txtSayi1.Text, out double sayi1);
    bool s2 = double.TryParse(txtSayi2.Text, out double sayi2);

    if (!s1 || !s2)
    {
        MessageBox.Show("Lütfen geçerli sayılar giriniz.");
        return;
    }

    string islem = cmbIslem.SelectedItem.ToString();
    double sonuc = 0;

    switch (islem)
    {
        case "+": sonuc = sayi1 + sayi2; break;
        case "-": sonuc = sayi1 - sayi2; break;
        case "*": sonuc = sayi1 * sayi2; break;
        case "/":
            if (sayi2 == 0)
            {
                MessageBox.Show("Sıfıra bölme hatası.");
                return;
            }
            sonuc = sayi1 / sayi2; break;
    }

    lblSonuc.Text = "Sonuç: " + sonuc.ToString("F2");
}

📝 Açıklama:

  • Form1_Load içinde ComboBox’a işlem seçenekleri eklenir.
  • btnHesapla_Click ile:
  • Girişlerin sayı olup olmadığı kontrol edilir,
  • Seçilen işleme göre switch bloğu kullanılarak işlem yapılır,
  • Sonuç lblSonuc üzerinde gösterilir.

Bu örnek, bir uygulamanın tüm bileşenlerini barındırdığı için mini bir proje işlevi görür.


✅ Özet:

Bu bölümde öğrenciler bir uygulama tasarladı, veri aldı, işledi ve sonucu sundu. Bu yapı, nesne tabanlı programlamaya geçiş öncesi işlevsellik açısından çok güçlü bir hazırlık sağlar.


Leave a Reply