interpreter für polnische notation (zahlen mit mehr als einer stelle)
-
was ist da anders?
-
Alles ;), hier vor allem aber der I/O-Krams.
Ein C++-ler könnte aber auch einfacher Boost.Spirit (quasi Inline-EBNF) verwenden.
-
Hallo
Was ist den die polnische Notation?
chrische
-
chrische5 schrieb:
Hallo
Was ist den die polnische Notation?
chrische
hi@wikipedia. ist eine mathematische schreibweise.
das bringt mich aber nicht weiter
-
Du schreibst nicht, was dein Problem ist. Du hast doch schonmal eine Grammatik in ein Programm umgesetzt, wieso klappt das mit der neuen Grammatik nicht?
-
ihc bin zu doof die zahlen aus zulesen bis der operand zu ende ist....
-
Vielleicht solltest du mal den doublecat Krams in ne while Schleife packen:
void doublecat( double* d, char* ch ) { while (*ch != '\0' && *ch != ' ') switch( *ch ) { case '0': *d = (*(d) * 10); break; case '1': *d = (*(d) * 10) + 1; break; case '2': *d = (*(d) * 10) + 2; break; case '3': *d = (*(d) * 10) + 3; break; case '4': *d = (*(d) * 10) + 4; break; case '5': *d = (*(d) * 10) + 5; break; case '6': *d = (*(d) * 10) + 6; break; case '7': *d = (*(d) * 10) + 7; break; case '8': *d = (*(d) * 10) + 8; break; case '9': *d = (*(d) * 10) + 9; break; } }
-
und kurz
if (*ch >= '0' && *ch <= '9') *d = *d * 10 + (*ch - '0');
-
hab ich mir auch schon gedacht, aber die funktion kriegt ja nur ein einzelnes zeichen übergeben.
die funktion getNextChar liefert ja nur das nächste char aus der kette.
-
Das Theam hatten wir schon mal. Hier hatte ich schon mal eine C++-Lösung gepostet.
Gruß
Werner