Taschenrechner



  • Hallo,

    ich möchte gerne einen Taschenrechner erstellen, der mehrere Zahlen einlesen kann, also wo ich nicht schon im voraus vordefinieren muß, wieviele Zahlen ich eingeben, und welche Rechenart ich ausführen möchte, stehe aber momentan etwas auf der Leitung, wie ich das machen kann 😕 . Kann mir jemand dazu vielleicht ein, zwei Denkanstöße liefern?

    Im voraus vielen Dank!!

    Viele Grüße,
    Arwen



  • // Einlesen eines gesamten Terms in Infix-Notation
    string term;
    getline(cin,term);
    
    // Algroithmus für das Berechnen, meistens dieser hier:
    // Eingelesenen Term in Postfix-Notation umwandeln (Ich habs mit einfügen in Value-Stack und einfügen in einen Op-Stack gemacht)
    // Bei bestimmten Bedingungen (die ich jetzt nicht mehr im kopf hab - ich glaub wenn der oberste op im stack höhere priorität als der nächste hat berechnest du den stack bevor du wieder einfügst)
    // am ende berechnest du nochmal bis nix mehr da ist
    

    Wenn du nicht klar kommst kann ich dir meinen Rechner der nach dem Schema vorgeht mal hochladen, der ist aber in Java geschrieben.

    MfG SideWinder



  • Wäre nett, wenn Du mir Deinen Code mal hochladen könntest, auch wenn er in Java ist. So ist mir das leider etwas zu abstrakt.

    Viele Grüße,
    Arwen



  • ich habe vor 2 tagen einen taschenrechner gebaut wo man noch die rechenmethode auswählen kann also Addition, Subtraktion, Multiplikation und Division. leider kann man pro rechenmethode nur 2 zahlen eingeben also z.B. 1+1. bin aber noch am werkeln dass man das auch auswählen kann wieviel zahlen man berechnen will.



  • machs doch einfach, wie beschrieben mit getline, schneide dann die zahlen aus dem string, den du mit getline geholt hast, heraus und überprüfe die Daten auf Rechenzeichen, damit sollte es eigentlich gehn



  • musst du nen parser bauen, der deine eingabe verarbeitet. mit bison/yacc geht sowas wunderbar (gibts auf jedem vernünftigen linux-system, evtl. auch für win)


Anmelden zum Antworten