244 / 164 / 133
Регистрация: 30.09.2012
Сообщений: 690
|
||||||
1 | ||||||
Калькулятор: обратная польская запись30.06.2015, 22:07. Показов 12426. Ответов 4
Метки нет (Все метки)
Всем доброго времени суток!
Решил написать для себя калькулятор, который бы решал сложные выражения с учетом скобок, каких-либо функций и т.д. В дальнейшем хотел прикрутить свой класс больших чисел, но до этого пока не дошел, так как наткнулся на ошибку, которая возникает при обработке скобок. Самое интересно, что в некоторых случаях, все работает корректно. Важно: если будете тестировать, то учитывайте тот факт, что пока что обрабатываются только однозначные числа (или просто цифры, кому как удобней ^_^) Код:
Также, если кто-то что-то подскажет по поводу улучшения реализации, да и вообще любые другие замечания по коду в целом, то также буду очень благодарен! =)
0
|
30.06.2015, 22:07 | |
Ответы с готовыми решениями:
4
Калькулятор (обратная польская запись) Обратная польская запись Обратная польская запись Обратная польская запись |
30.06.2015, 22:24 | 2 |
1
|
244 / 164 / 133
Регистрация: 30.09.2012
Сообщений: 690
|
|
30.06.2015, 22:37 [ТС] | 3 |
Не по теме: Есть такое ^_^ Много лишнего наворочено, но пока решил сделать первую рабочую версию, а потом уже приводить все в порядок (касаемо применения стандартных алгоритмов, итераторов, векторов и т.д и т.п.). За ссылки спасибо, попробую разобраться в решениях, но, как мне кажется, это будет несколько неправильный подход (???), так как, в итоге, обработка строки скорее всего будет скопирована, а ошибку я так и не найду ^_^ Добавлено через 5 минут Есть идея сделать что-то вроде счетчика, который бы подсчитывал количество операций внутри каждой скобки, но это слабо похоже на адекватное решение. Просто, не смотря на проверки не пустоты стека, как я понял, программа все равно либо выходит за его границы, либо это как раз "непредсказуемый" вывод результата команд .pop() и .top(), если стек пуст.
0
|
30.06.2015, 22:51 | 4 |
Классика: Four Function Calculator: An AnaGram Example
+ Страуструп. Грамматики. Парсер - C++ Упражнение для программы калькулятор из книги Язык программирования С++ + поиск по форуму.
1
|
244 / 164 / 133
Регистрация: 30.09.2012
Сообщений: 690
|
|||||||||||
30.06.2015, 23:07 [ТС] | 5 | ||||||||||
Проблему нашел. Почему-то в некоторых случаях открывающая скобка не записывается в стек.
Добавлено через 13 минут Все. Проблема решена. Ошибка была в этой строке:
Решил так:
0
|
30.06.2015, 23:07 | |
30.06.2015, 23:07 | |
Помогаю со студенческими работами здесь
5
Обратная польская запись Обратная Польская Запись Обратная польская запись Обратная польская запись Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |