Lösen einer Variablengleichung, die vom Benutzer definiert wurde

8

Antworten auf C, Python, C ++ oder Javascript würden uns sehr freuen. Ich habe ein paar Bücher gelesen, alle Beispiele gemacht. Jetzt möchte ich ein einfaches Programm schreiben. Aber ich bin schon auf folgenden Roadblock gestoßen:

Meine Absicht ist es, eine Gleichung vom Benutzer zu nehmen und sie in einer Variablen zu speichern, Zum Beispiel:

%Vor%

Und dann berechne den gegebenen Ausdruck für einen bestimmten X-Wert. Etwas wie das:

%Vor%

Irgendwelche Ideen? Für das Leben von mir kann ich das nicht herausfinden. Zusätzlich zu meiner Frustration ist die Lösung wahrscheinlich sehr einfach. Vielen Dank im Voraus.

    
user2388026 16.05.2013, 01:47
quelle

3 Antworten

11

Es gibt keine einfache Möglichkeit, dies in C zu tun, aber ich denke muParser kann nützlich sein für Sie ist es in C ++ geschrieben, hat aber C -Bindung. ExprTk ist auch eine Option, sieht aber aus, als wäre es nur C ++ Plus-Seite sieht es viel einfacher aus, interessante Ergebnisse mit zu bekommen.

Eine weitere Option ist die Ausdrucksprüfung , die Teil von Libav . Es ist in C und der eval.h Header hat einige gute Beschreibungen der Schnittstelle.

    
Shafik Yaghmour 16.05.2013, 01:52
quelle
0

In kompilierten Sprachen wie C, C ++ oder Java gibt es keine einfache Möglichkeit dies zu tun - Sie müssen im Grunde einen ganzen Compiler neu schreiben (oder eine externe Bibliothek mit einem Interpreter verwenden). Dies ist in "Skriptsprachen" wie Python und Javascript nur trivial, die eine Funktion haben (oft "eval ()" genannt), die Ausdrücke zur Laufzeit auswertet. Diese Funktion ist oft gefährlich, da sie auch Funktionen mit Nebeneffekten aufrufen kann.

    
Lee Daniel Crocker 16.05.2013 02:00
quelle
0

Ffmpeg / libav hat einen netten einfachen Funktionsauswerter, den Sie verwenden könnten.

    
R.. 16.05.2013 02:29
quelle

Tags und Links