Ответ: Калькулятор
Я бы делал так. Допустим, юзер ввел строку 2+2*2 режешь её и помещаеш в массив (лучше использовать вектор, реализованный в Lib_vdata). У тебя получается примерно такой массив:
2
+
2
*
2
Теперь пробегаешь по массиву и заменяешь все умножения на готовый результат, остальные элементы массива удаляешь. Т.е. после пробежки у тебя должно получиться примерно следующее:
2
+
4
Потом пробегаешься по массиву и ищешь и вычисляешь все деления, потом сложения и вычитания. В итоге у тебя и получится 6.
Аналогично вычисляются скобки, другие алгбраические функции и т.п.
|