JavaScript hesap makinesi parçalama işlemi nasıl yapılır?

00PARZIVAL00

Picopat
Katılım
23 Temmuz 2022
Mesajlar
520
Çözümler
1
Daha fazla  
Cinsiyet
Diğer
Merhaba, ben JavaScript üzerinden bir hesap makinesi yaptım, fakat bu hesap makinesi sadece sağ ve solu, yani tek şeyli işlem yapabiliyor, fakat kulalnıcı birden çok işlem yapmak istediğinde bunları nasıl parçalara ayırıp, hesap yaptıracağımı anlayamadım, YouTube'dan da bulamadım, bana anlatabilir misiniz? Yani kullanıcı mesela 50+23 işlemini yapabiliyor, fakat 50+23*64-43 gibi bir işlemi nasıl parçalara ayıracağımı anlayamadım. Şu an yaptığım hesap makinesi şöyle bir şey, sol + operatör + sağ şeklinde işlem yapıyor, bunu nasıl yukarıda dediğim gibi parçalayarak işlemi yaptırabilirim?
 

Evet bu şekilde çalışan bir hesap makinesi, fakat bunu eval() ile değilde kendim yapmak istiyorum. Yani eval()'ın yaptıklarını kod halinde yazmak. Ama bana sadece hesap yaptığı kısım yeterli şu an için.
 
String şeklideki matematiksel bir ifadeyi eval() kullanmadan kendiniz parse edip işlem önceliğine göre yürütmek için bTree veya Stack tipinde bir veri yapısı üzerinde tutup işlemleri gerçekleştirmeniz gerekiyor.

Derleyicilerin çalışma mantığını da az çok buna benzerdir.

Bkz: Parsing math expressions with JavaScript
 

Hocam infix işlemi postfix veya Prefix'e dönüştürerek veri yapılarına aşinaysanız yaparsınız. Başarılar.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…