21 Kasım 2011 Pazartesi

C# Hesap Makinesi(Basit)

Merhaba arkadaşlar.Bu yazımda c#'ta basit bir hesap makinesi nasıl yapılır onu anlatacağım.Çok basit bir program yazacağımız için bu yazının yeni başlayanlar için iyi olacağını düşünüyorum.

İlk olarak aşağıdaki formu hazırlayalım












Programımızın nasıl çalıştığından bahselim biraz.Formumuzda 3 adet Textbox 4 adet radiobutton 1 adet checkbox ve 1 adet button var.Sayı 1 ve sayı 2 kısmına rakam girip işlem seçiniz menüsünden seçtiğimiz işleme göre sonuç üretiyoruz.Eğer "Dialogta göster" checkbox'ı seçiliyse sonucu bir mesaj penceresiyle göstereceğiz.Eğer seçili değilse Textbox içerisinde göstereceğiz.Program çalıştıktan sonraki görüntü aşağıdaki gibi olacaktır.
















Eğer checkbox seçili olursa butona bastığımızda görüntü aşağıdaki gibi olacaktır.














Radiobutton ile checkbox arasında büyük fark vardır.Formda 3 adet checkbox olduğunu düşünürsek hepsini bağımsız bir şekilde seçebiliriz.Ama radiobutton'da ise tek bir tanesini seçme şansımız vardır.Yani kullanıcıya sadece verdiğimiz seçeneklerden bir tanesi seçme şansı veriyoruz.Girdiğimiz iki değeri radiobutton'da seçilen değere göre işleme sokuyoruz ve ve sonucun nasıl gösterileceğini seçiyoruz.Tabiki bunların hepsini button'nun click olayına yazıyoruz.Kodlar aşağıdaki gibi olacak.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace hesap_makinesi
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public double toplam;

        private void button1_Click(object sender, EventArgs e)
        {
            if (r_topla.Checked == true)
            {
                toplam = Convert.ToInt32(txt_ilk.Text) + Convert.ToInt32(txt_ikinci.Text);
             
           
            }
            else if (r_cikar.Checked==true)
            {
                toplam = Convert.ToInt32(txt_ilk.Text) - Convert.ToInt32(txt_ikinci.Text);
           
            }
            else if (r_carp.Checked==true)
            {
                toplam = Convert.ToInt32(txt_ilk.Text) * Convert.ToInt32(txt_ikinci.Text);

            }
            else if (r_bol.Checked==true)
            {
                toplam = Convert.ToDouble(txt_ilk.Text) / Convert.ToDouble(txt_ikinci.Text);

            }

            if (cb_isaret.Checked == true)
            {
                MessageBox.Show("Sonuc :"+toplam.ToString(),"Hesap Makinesi");

            }
            else
            {
                txt_sonuc.Text = toplam.ToString();
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            r_topla.Checked = true;
        }

      
    }
}


Arkadaşlar formu hazırladıktan sonra sağdaki properties kısmından nesne isimlerini değiştirmek işinizi kolaylaştıracaktır.Bu örnek nesnelerin adı ilk geldiği gibi değil.Mantıklı isimler vermeye çalıştım.Böyle yapmak nesneler çok olduğunda hangi nesne ne işe yarıyordu ne yapıyordu anlamamızı kolaylaştıracaktır.Programımızın kod bölümünü anlatayım biraz.


Button'un click olayına yazdığımızı daha önce söyledik.Bütün olaylar butona tıklanınca gerçekleşiyor.İlk olarak toplam diye bir double değişken tanımladık.Burada int olarak değilde double tanımlamamızın nedeni bölme işleminde sonucun küsüratlı olma ihtimali.Int olarak tanımlasaydık küsüratı göremezdik.

ikinci kısımda if (r_topla.Checked == true) bu ifadelerle hangi radiobutton'un seçili olduğunu bulmaya çalışıyoruz.Örnek r_topla seçeneği seçili ise onun altındaki kod parçacığı çalışacaktır.Bu if kontrollerini yaptıktan sonra içerisine hangi fonksiyonda ne çalışması gerekiyorsa o işlemi yaptırıyoruz.Textboxları convert ettikten sonra toplam değişkenin içine atıyoruz.Bu kod çalıştıktan sonra toplam değişkenimizin içi radioButton'un seçilmesine göre değer alacaktır.

Son kısımda ise toplam değişkenini yazdırmak kalıyor.Yani sonucu.Burada dikkat edilmesi gereken nokta checkbox seçilimi değil mi ?Eğer seçiliyse yani cb_isaret.Checked == true ise Messagebox ile ekrana gösterecek sonucu.Eğer seçili değilse textbox'a yazacak sonucu.MessageBox.Show("Sonuc :"+toplam.ToString(),"Hesap Makinesi"); bu fonksiyonla message olarak ekrana gösterebiliyoruz.Değilse txt_sonuc.Text = toplam.ToString(); bu kodla Textbox'a yazacak.

Son olarak radiobuttonlardan birinin forma açılırken seçili gelmesini istiyorsak  formun load kısmına şu kodu yazdık :   r_topla.Checked = true;

Bu yazımız bu kadar arkadaşlar.Umarım işinize yarar.Sorularınız olursa cevaplandırabilirim.

Hiç yorum yok:

Yorum Gönder