15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Распознавание математических выражений.

Автор: Селин Дмитрий

Собственно данный пример (списаный в основном из страуструпа) и решает данную задачу. В архиве два исходника. Один просто считает мат. выражения, а второй позволяет использовать еще и переменные.

calc - просто считает мат выражения
calc_var можно использовать еще и переменные.
типа такого
A=1+4;
3*A-A/2
Только нужно тогда разделять выражения (содержащие знак "=")
символом ";"

вот пример как надо с этим работать после запуска.

Enter a 'z' to finish
Enter Expression
1+2
Answer is : 3
Enter Expression
A=2*3
Answer is : 6
Enter Expression
B=A+4
Answer is : 10
Enter Expression
A=2+4;C=A+B
Answer is : 16
Enter Expression
z
Press any key to continue

Переменые считаються все из одной буквы, то есть АВ и АА считаються
одной переменной и изначально все равны нулю

За более подробным описанием смотрите Страуструпа.

СКАЧАТЬ ИСХОДНИК(~18Kb)