Zahlen in Wörter umwandeln!!



  • Hallo,

    wie kann ich es machen, dass ich in c++ die Tahlen als Wörter Schreibe und damit rechne?? Also ich will z.B. in meinem Taschenrechner Programm Schreiben drei + vier

    Ergeniss = 7

    Wo und wie muss ich C++ sagen das z.B. die zahl 3 auch als drei erkannt werden soll?

    Währe furchtbar nett wenn ihr mir ein Beispiel sagen könntet!!



  • daniel_hh schrieb:

    Ergeniss = 7

    Wenn überhaupt, dann: Ergebnis = 7

    Ansonsten: Wenn du nur so simple Ausdrucke hast (z.B. nur 2 Operanden), kannst es mit ein bißchen Stringfummelei doch leicht hinbekommen (String anhand von Leerzeichen in Token zerlegen, Tokan analysieren usw). Wenn du komplexe arithm. Ausdrücke evaluieren willst, musst du dir wohl einen Parser bauen.



  • könntest du mir denn den Quellcode für das einfache beispiel geben?



  • Hier könnt ihr Fragen rund um Standard-C++ stellen. Dazu gehören auch Fragen zur STL bzw. zur Standardbibliothek. Compiler- und betriebssystemspezifische Fragen bitte in den jeweiligen Foren posten. Bevor ihr ein neues Thema startet, benutzt bitte die Suchfunktion und werft einen Blick in die FAQs.

    zur umwandelbarkeit von Zahlen->Strings->Zahlen gibt es schon mindestens einen großen Faq eintrag:
    http://www.c-plusplus.net/forum/viewtopic.php?t=39488

    wenns aber um das erkennen geht, ob ein string eine zahl ist, dafür musst du dir etwas größeres Basteln...
    zum parsen ansich:
    such mal bei google nach:
    Automatentheorie
    danach schaust du dir
    boost::spirit an
    danach schreibst du dir einen eigenen parser

    alternativ:
    du kaufst dir das Drachenbuch
    und baust dir den parser dann nach dem Schema.

    zu guter letzt hier noch ein weiterer link aus dem forum(hab ich grad durch zufall gefunden).
    Da hab ich was zu geschrieben, ist imho nicht ganz so "rund", aber so als einführung dürfte es reichen.
    http://www.c-plusplus.net/forum/viewtopic.php?t=79934&postdays=0&postorder=asc&highlight=drachenbuch&start=0


Anmelden zum Antworten