taschenrechner simulieren...



  • ich wollte ien funktion schreiben die einen taschenrechner simuliert.

    angenommen ich würde einen term der form (sum1 + fak1) * fak2 ( (23.4+3)*8) einlesen wollen. dann stehe ich nur vor dem problem, die punkt vor strichrechnung in den griff zu bekommen!

    ich habe daran gedacht zuerst die bereiche um das ""/"**"-zeichen zu lesen, das ganze zu ersetzen, etc... aber das scheint mir reichlich ineffektiv zu sein!

    darum wollte ich gerne wissen wie ihr das möglichst einfach lösen würdet?



  • es geht im grunde darum, einen parser zu bauen, der dir den term in einen baum umwandelt, damit du das gut ausrechnen kannst. Ist eigetnlich nicht schwer, schon fast fertigen code (also pseudo) gibts hier:

    http://www.engr.mun.ca/~theo/Misc/exp_parsing.htm


Anmelden zum Antworten