Postfix Hesap Makinesi – RPN Calculator

Fri, Feb 3, 2017 One-minute read

Normal bir hesap makinesi programından farklı olarak(gerçeklerine yakın olmayanlardan) sin(30) , log(18) gibi değerleri de hesaplayabilecek ve bunları iç içe yapabilecek bir program yaptım.

Programı c++ ile yazdım. Çünkü stl sayesinde hızlı bir şekilde gerçekleştiriyorum. Kuyruk ve yığın veri yapıları kullandım. Öncelikle kullanıcının girdiği string ifadeyi sırasıyla inceliyor. Eğer sayı ise yığına aktarıyor operatörse işlem sırasını bekliyor. Yani tpn(ters polonyalı notasyonu – reverse polish notation) formatıyla aktarıyorum. Bu algoritmayı vikipediden görebilirsiniz.

Daha sonra string ifadesindeki fonksiyonları da birer operatör olarak düşünüp üstteki algoritmayı kullandım ve sonuçları kuyruk yardımıyla hesapladım. Kuyrukta kalan son eleman benim sonucum olduğu için ekrana yazdırdım.

Kodları github adresimde bulabilirsiniz. https://github.com/ffahri/RPNCalculator