Projelere dön

C ile Hesap Makinesi

C ile Stack veri yapısını öğrenmek amaçlı geliştirdiğim proje.

Kaynak Kodu

Uygulama, matematiksel bir ifadeyi metin (string) olarak alır ve bunu sayısal bir sonuca dönüştürür. Toplama, çıkarma, çarpma, bölme ve mod alma olmak üzere beş temel aritmetik işlemi destekler ve işlem önceliğine doğru şekilde uyar; örneğin 3 + 5 * 2 gibi ifadeleri doğru biçimde hesaplar. Temel işlemlerin yanı sıra sinüs, kosinüs, tanjant ve kotanjant gibi trigonometrik fonksiyonları da tanır ve hesaplayabilir. Ayrıca pi ve e gibi matematiksel sabitleri de destekler.

İfadeyi daha rahat işleyebilmek için sıfırdan kendi stack (yığın) yapımı geliştirdim. Uygulama, girilen metni ayrıştırarak operand’lara böler ve her birini tek tek stack’e ekler. Hesaplama yapılmadan önce tüm token’lar doğrulanır; eğer tanınmayan ya da hatalı bir ifade varsa program bunu erken aşamada yakalar ve yanlış bir sonuç üretmek yerine hata vererek sonlanır. Tüm operand’lar güvenli şekilde stack’e yerleştirildikten sonra, operatörleriyle birlikte tekrar bir araya getirilir ve hesaplama motoruna gönderilerek nihai sonuç elde edilir.