Advanced Calculator System [v0.0.1]

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • So schönen Abend,


    Ich habe mich die letzten Tage mal an ein KalkulationsSystem gewagt, mit dem es möglich ist, "komplexe" Rechenaufgaben, wie z.B. "1+(10-20)*-10*-1+200*((10+9)*-8 )*-1" zu berechnen.
    Zu Anfang gab es noch Probleme mit der Klammernauflösung, dann mit den Minuszahlen. Aber jetzt funktionierten bisher alle meine Testrechenaufgaben.
    Das System ist insgesamt nicht sauber gecodet und wird von mir mit Sicherheit in der nächsten Zeit neu geschrieben. Nur bisher erfüllt es seine Testzwecke gut und ich bin insgesamt zufrieden mit dieser Arbeit.
    Es werden alle Rechenregeln befolgt, d.h. Klammern vor Punkt, Punkt vor Strich.
    Zudem sind Klammern in der Klammer auch kein Problem. Sollte es noch weitere Fehler geben bitte ich euch, dass ihr sie mir in diesem Thread, oder per PM mitteilt :)


    Die Anwendung:
    Die Anwendung ist so simpel, wie bei einem handelsüblichem Taschenrechner. Ihr gebt der Methode "Calc" eine Rechnung an, und sie gibt das Ergebnis im Typ int zurück

    #include Calculator
    public OnFilterScriptInit(){
    printf("ERGEBNIS: %d",Calc("1+(10-20)*-10*-1+200*((10+9)*-8)*-1")); // Ergibt 30301
    return 1;
    }


    Geplant sind noch Funktionen, wie Hoch, Wurzel, Tangenz, Sinus & Kosinus. Allerdings werde ich mir dafür noch zeit lassen, bis das System effizienter und schöner neu geschrieben wurde :)
    Download:
    PasteBin

  • Hi


    Du versuchen, das Ganze auch ohne Klammern, sprich mit einer direkten Punkt vor Strich Reglung zu realisieren, als Hilfe kannste dir die Links bei Interesse mal anschauen:


    http://de.wikipedia.org/wiki/Kellerautomat
    http://de.wikipedia.org/wiki/Russische_Bauernmultiplikation


    Gruss