minicrispie: Taschenrechner in C++ (WinApi)

Hallo,

ich hab schon wieder ein problem ...
und zwar handelt sich es um einen Taschenrechner. Ich habs ja schon geschafft, das der Benutzer zwei Zahlen angibt und man die grundrechenarten benutzen kann. Auch gibt es die winkelfunktionen.

Nur wie kann ich es so programmieren, das der benutzer EIN eingabefeld hat, wo er meinetwegen 1+2+3+4+5+6... eingibt und das eine funktion das dann ausrechnen?

im prinzip will ich das Javascript beispiel in c++ "umwandeln":

function Rechne()
  {
    var Eingabe = document.getElementById('Eingabe').value;
    document.getElementById('Ausgabe').value=eval(Eingabe);
  }

[...]

<input type="text" id="Eingabe">
<input type="button" value="Rechnen" onClick="Rechne()">
<input type="text" id="Ausgabe">

Kann mir da jemand helfen ?

Schon mal besten dank vorraus!

MfG. Christoph

--
Wo die Sprache aufhört, fängt die Musik an...
ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
  1. hi!

    Nur wie kann ich es so programmieren, das der benutzer EIN eingabefeld
    hat, wo er meinetwegen 1+2+3+4+5+6... eingibt und das eine funktion das
    dann ausrechnen?

    Das duerfte schwieriger sein, als du dir das vorstellst ;)

    Aber im Prinzip lernt man das in jeder ordentlichen Compilerbau-Vorlesung.
    Du musst den Eingabestring parsen und anhand einer geeigneten formalen
    Grammatik, die fuer einfache arithmetische Ausdruecke nicht uebermaessig
    kompliziert ist, einen Parse tree aufbauen, um deinen Ausdruck in einer
    Baumstruktur zu repraesentieren. Wenn du erstmal soweit bist, ist die
    Interpretation dieses Baums nicht weiter schwierig.

    Einen allgemeinen Einstieg findest du zum Beispiel in Wikipedia:
      http://en.wikipedia.org/wiki/Parsing.

    bye, Frank!

    --
    Never argue with an idiot. He will lower you to his level and then
    beat you with experience.
    1. Hallo Frank,

      ok, so schwierig hab ich mir das nun wirklich nicht vorgestellt.
      Das heißt also, das ich die eingabe komplett zuerlegen müsste. Ich müsste jedes Plus, jedes Minus, jede klammer, jedes Komma - einfach alles herausfiltern und einzeln ausrechnen !?

      Na kommt ja ganz schön viel auf mich zu...

      Trotzdem danke !

      --
      Wo die Sprache aufhört, fängt die Musik an...
      ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
      1. Hallo.

        ok, so schwierig hab ich mir das nun wirklich nicht vorgestellt.

        [...]

        Na kommt ja ganz schön viel auf mich zu...

        So schwierig ist das gar nicht. Eigentlich kann das sogar jeder Taschenrechner.
        MfG, at

  2. hi,

    Nur wie kann ich es so programmieren, das der benutzer EIN eingabefeld hat, wo er meinetwegen 1+2+3+4+5+6... eingibt und das eine funktion das dann ausrechnen?

    Ein Beispiel zum Parsen siehst Du da, weiter unten:
    http://rolfrost.de/ip4c.html

    Die c-Funktion heißt strtok();

    Hotte