Pobranie wyrażenia matematycznego z TextBox'a do zmiennej

0

Witam,
Piszę program na projekt do szkoły. Program rysuje wykresy podanej funkcji f(x)=.
Funkcję ma pobierać z textbox'a, no ale nie mogę sobie z tym poradzić. W chwili obecnej wpisuje funkcje na sztywno w kodzie programu.

Obliczanie punktów:

int x,y;
for (x=-300;x<300;x++)
y=(tutaj wzor funkcji);
//dalej kod rysujący funkcje na podstawie punktów x i y

Potrafię pobrać funkcję z textboxa do zmiennej, ale gdy próbuje podstawić do y to wywala błąd o niezgodności typów:

std::string zmienna = textbox->Text;
y=zmienna;

Jak zrobić, żeby kompilator traktował to jako wyrażenie typu y=(x/2)*5?

0

Zamienić na ONP. Obliczyć i wypisać.

0

Czy to w jakiej notacji jest napisany wzór ma wpływ na pojawianie się błędu niezgodności typów? Wpisując wzór na sztywno jest ok. Załóżmy że wzór podajemy do textboxa, np (x/2)*5, jak zrobić żeby liczyło y=(x/2)*5?

0

Człowieku, musisz napisać kod który zinterpretuje napis do postaci funkcji lub struktury danych, która umożliwi ci obliczenie tego wyrażenia.
Jeśli chcesz drogę na skróty to musisz znaleźć odpowiednią bibliotekę.

0

Jakieś podpowiedzi? Pierwszy raz próbuje coś takiego zrobić. Panowie bez agresji:) Nakierujcie mnie tylko gdzie i czego szukać.

1

No przecież już dostałeś odpowiedź. Zamień ten tekst na postać w ONP i oblicz. O ONP możesz poczytać na wikipedii, możesz też poszukać jakiejś biblioteki, która to zrobi za Ciebie.

0

Jak wyżej, przekształcasz wyrażenie z notacji infiksowej na postfiksową (odwrotną notację polską): http://en.wikipedia.org/wiki/Shunting-yard_algorithm#The_algorithm_in_detail
Po czym obliczasz: http://en.wikipedia.org/wiki/Reverse_polish_notation#Postfix_algorithm

Ewentualnie możesz to zrobić za pomocą drzewa. ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1