String als Rechenaufgabe??



  • Hallo,
    ich habe den String "1+1". Nun möchte ich gern das Ergebnis dieser 'Aufgabe' als int-Variable speichern? Hab folgendes ohne Erfolg probiert:

    AnsiString Aufgabe = "1+1!;
    int Ergebnis = Aufgabe;
    

    Leider geht es so nicht! Fehler: Konvertierung von AnsiString nach int nicht möglich...

    Wie sollte ich vorgehen?



  • Hallo

    Das geht so einfach nicht. Der Compiler weiß doch nicht das in dem String ein Rechenaufgabe steht. Du müßtest den String manuell zerlegen, auswerten und entsprechend die Rechnung ausführen. Stichwörter sind Parser und Interpreter. Grad für mathematische Formeln dürfte hier im Forum dazu schon einiges zu finden seien.

    bis bald
    akari



  • Wenn es nicht CBuilder sein muss, dann nimm PHP und da kannst eval("echo 1+1;"); und Ausgabe hast dann deine 2 😉



  • Hi bugus,
    doch, es muss CBuilder sein...
    Habe es dann so gelöst: String zerlegen, Zahlen nach int-Var geschoben, switch/case für + und - angelegt, dann gerechnet und Ausgeben lassen 👍

    So geht's (und das reicht auch, muss nicht schön sein 😉 )

    Danke
    Torsten



  • Das ist die Standardvorgehensweise, wie akari schon geschrieben hat. Insofern hat das nichts mit schön oder nicht schön zu tun. 😉


Anmelden zum Antworten