char*formula="1+sin(x)";// исходная формула
CExpr2Parser ep;
ep.Translate(formula);
for (i=0;i<ep.GetVarCount();i++)
{
ep.SetVars(i,1.2);// устанавливаем знач. переменных
// (значения всех переменных равно 1.2)
}
double d=ep.Get();
char dstr[50];
sprintf(dstr,"%g",d);
this->MessageBox( dstr );// выводим результат
Распознай формулу!!!
Если есть возможность, дайте ссылки на теорию.
Или же исходничками кто поделиться рад:-? :D
Цитата:
Originally posted by frisbeeman
Как перевести формулу, которую вводит пользователь через интерфейс в работоспособную математическую функцию на языке?
Если есть возможность, дайте ссылки на теорию.
Как перевести формулу, которую вводит пользователь через интерфейс в работоспособную математическую функцию на языке?
Если есть возможность, дайте ссылки на теорию.
Смотри здесь о технологиях парсинга.
Вообще это делается оператором case или switch, не помню точно, как в С++.
Цитата:
Originally posted by Sanila_san
Смотри здесь о технологиях парсинга.
Вообще это делается оператором case или switch, не помню точно, как в С++.
Смотри здесь о технологиях парсинга.
Вообще это делается оператором case или switch, не помню точно, как в С++.
Есть пример на Gentee. Могу прислать, правда, не знаю, много ли от него толку.
Читай Страуструпа раздел про калькулятор.
Цитата:
Originally posted by frisbeeman
Или же исходничками кто поделиться рад:-? :D
Или же исходничками кто поделиться рад:-? :D
Можно и исходниками. Только на Visual C++. Использовать их очень просто.
Код:
Цитата:
Originally posted by michael_is_98
Можно и исходниками. Только на Visual C++. Использовать их очень просто.
Можно и исходниками. Только на Visual C++. Использовать их очень просто.
А за исходнички отдельное срасибо, в данный момент я перехожу на Visual С++ 2005. Исходники как раз кстати!!!