Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   калькулятор - необъяснимая функция (http://www.flasher.ru/forum/showthread.php?t=101433)

OldBoyZ 18.09.2007 15:14

калькулятор - необъяснимая функция
 
Вложений: 1
вот учу экшн. Делал калькулятор в качестве задания по книжке. В итоге отклонился от того, что написано в книге, а потом и вовсе удалил всё и написал по своему. Всё вроде шло неплохо - были ошибки - сидел кряхтел и находил. Дело в том, что по книжке уже было не подсмотреть - потому как в ней всё изачально по другому выполнялось. И тут вот сижу мудрю операцию сложения. Написал строк семь. Пересмотрел код. Удалил лишнее. Пересмотрел - удалил. В итоге осталась одна строчка, причём посути никак не относящаяся к делу =)). НО ВСЁ РАБОТАЕТ. ну не всё =) но складывает набранное число с одним знаком - смотря на какой тыкнешь после плюса. Вот тут я полностью перестал понимать, что происходит. Люди добры, посмотрите пажалста, отчего так происходит?

Mnilionic 18.09.2007 16:03

потому что у вас вычисление начинается при нажатии на цифры, а должно при нажатии на функуиональную клавишу.

сначала нужно на бумажке написать, какуя функция, в какой момент запускается, аля план для сочинения в 8 классе.

Тогда вы будите понимать и контролировать процесс.


ps И почему у вас расположение цыфровых кнопок шиворот на выворот?

OldBoyZ 18.09.2007 16:50

ну тут не получается плана - потому как я на данный момент очень редко осознаю, что нужно будет сделать дальше, а уж сразу всю функциональность расписать мне ещё не под силу.

по поводу вычислений - в том то и дело, что откуда они беруться то - когда никаких вычислений и не должно происходить.

по поводу расположения кнопок - а почему они должны располагаться как-то по другому?

Mnilionic 18.09.2007 17:46

возмите обычный калькулятор (если нету используйте стандартный виндовский), там кстати и раскладку кнопок можете посмотреть, и проанализируйте очередность действий:
1. вводим значение первого параметра (клавиши от 0 до 9, "." и "-")
2. жмём функцию, которою хотим применить ("+", "cos", "*")
3 запоминаем функцию
а. если функция работает с одним параметром, такие как cos или квадратный корень, то выводим результат.
б. если функция работает с двумя параметрами, такие как сложение, деление, то вводим второй параметр,
ц. если функция работает с двумя параметрами и уже объявленна, то выводим результат

чтоб каждый раз после выолнения одной функции не делать "сброс", после каждого получения результата, клади его значение в первый параметр, а второй параметр и функцию убирай.

OldBoyZ 18.09.2007 18:00

общам я нашёл ошибку - на самом деле если бы операндом был бы минус - такого не произошло бы =) прост совпадение такое дурацкое =)))
у меня по ходу кода str то строка, то число - ну и собстна при нажатии на цифру нужно было просто преобразовать str обратно в строку. калькуль почти доделан =)


Часовой пояс GMT +4, время: 11:40.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.