Wertetabelle programmieren

Insane13

Grünschnabel
Ich bin dabei eine Wertetabelle zu programmieren.
Es klappt alles wunderbar, aber es ist lästig die Funktion immer im Quelltext anzugeben.
Wie kann ich es realisieren, dass die Funktion z.B. als String in eine Variable gespeichert wird, und dann berechnet wird?

Beispiel:

Funktionseingabe (int funktion) = "x^2-5x+100"

C++ müsste es ja wiefolgt interpretieren:
Rechnung: x*x-5*x+100

Vielleicht kann mir ja jemand von euch helfen.

Danke im Vorraus.
 
Dazu müsste man einen mathematischen Parser implementieren bzw. eine fertige Komponente verwenden. Google wirft mit den Stichworten „math parser“ recht brauchbare Ergebnisse aus.
 
also ich hab etztens ein programm für eine wertetabelle programmiert ; weis zwar net ob das das ist was du suchst aber schaus dir mal an:
Code:
#include <iostream.h>
#include <conio.h>



long double funktion1(long double,long double,long double);


int main()
{
    long double zahl1,zahl2,zahl3;
    cout << " geben sie 'm' ein " << endl;
    cin >> zahl2;
    
    cout << " geben sie 'c' ein " << endl;
    cin >> zahl3;
    
    int q;
    cout << "geben sie die hoechstzahl von x ein" << endl;
    cin >> q;
    cout << " die wertetabelle ist :" << endl;
    for(int j=0;j<q;j++)
    {
            long double ergebnis = funktion1(j,zahl2,zahl3);
            cout << j << ":" << ergebnis << endl;
    }
    system("pause");
    return 0;
}

long double funktion1(long double x, long double m, long double c)
{
    long double ergebnis = m*x+c;
    return ergebnis;
}
 
moin


@DerSensenmann
Hab den Code jetzt nicht genau angeguckt, aber so funktioniert das nur wenn es sich immer um die selbe Funktion handelt.

Wenn die Formel erst vom Benutzer eingegeben werden soll, ist ein Parser von nöten, wie Matthias schon erwähnt hat.
Dazu lässt sich ne Menge per Forumssuche finden.


mfg
umbrasaxum
 
Zurück