Распознавание математических выражений.
Автор: Селин Дмитрий
Собственно данный пример (списаный в основном
из страуструпа) и решает данную задачу. В архиве
два исходника. Один просто считает мат. выражения,
а второй позволяет использовать еще и переменные.
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)
|