Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для lxa85

Необычный


Contributor


Сообщения: 4466
Благодарности: 995

Профиль | Сайт | Отправить PM | Цитировать


Ksenya, посмотрел вчера исходник инженерного калькулятора. Если ты хочешь делать копию инженерного калькулятора MS, то прошу тебя подумать еще раз. Это очень неудобный калькулятор.
Далее говорю по виду Windows 7. Как было в XP я не вспомню.

По делу:
Я предлагаю тебе сначала сформировать строку выражения, а только затем ее обрабатывать. MS пошли дальше, они все время вычисляют промежуточные значения выражения. Иногда всего, а иногда то, что в скобках и не нарушает синтаксиса. Причем исправить выражение можно только набрав его заново.
Заметь, сложные вещи, например 1/x или e^x калькулятор заменяет словесным выражением.

В любом случае, что тебе сейчас надо сделать:
Тебе нужно сделать простейшую программу, которая тебе будет переводить строку выражения в ОПЗ.
Про основную форму калькулятора пока забываешь.
Договорись между собой о том, как ты будешь обозначать то или иное действие.
Обозначь порядок приоритетов (определение желательно вынести в функцию)
Приведенный тобою алгоритм опз, сразу пытается посчитать выражение, а это не то, что нужно.
Т.е. тебе надо полностью построить логику синтаксического анализатора.
Картинки будут вечером, и скорее всего от руки.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 13:22, 14-12-2011 | #14