Taschenrechner in C++ (WinApi)
minicrispie
- programmiertechnik
0 Frank Schönmann0 minicrispie0 at
0 hotti
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
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!
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 !
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
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