boost::spirit2 ...
Würde ich auch zu raten.
http://www.boost.org/doc/libs/1_35_0/libs/spirit/index.html Da findest du alle Infos.
Gibt es da nicht evtl auch eine ganz Einfache lösung??
So hab das Projekt jetzt seit langer Zeit wieder aufgegrifen und nun auch schon so gut wie alle Fehler gefunden, so dass er jetzt i.d.R alle Nullstellen findet bis auf 4 Nachkommastellen genau..
Das Probelm ist aber weiterhin noch die Benutzerunfreundlichkeit.. ich muss die Funktion f(x) immer von Hand vor dem kompelieren in die C++ Funktion reinschreiben:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
int CCalc::Funktion(float x)
{
//Hier FUnktion eintragen:
//------------------------------------------
fX = x*x*x*x-6*x*x+8;
//------------------------------------------
if (fX >= -0.00000001 && fX <= 0.00000001)
{
return 0;
}
else if (fX < 0.00000000f)
{
return 1;
}
else if (fX > 0.0000000f)
{
return 2;
}
}
|
Gibt es nicht evtl die möglichkeit, das ich an dieser Stelle des Programm bei Laufzeit einfach nach dem Gleichheitszeichen den Code ergänze mit irgend einer Eingabefunktion die dann in eine Rechenoperation umgewandelt wird?
Es wäre auch nicht schlimm wenn man die Funktionen, wie eine Rechenoperation eingeben muss. Ich hab da kaum Ansprüche..
|
C-/C++-Quelltext
|
1
|
x*x*x*x-6*x*x+8
|