![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2006
Сообщений: 10
|
вот учу экшн. Делал калькулятор в качестве задания по книжке. В итоге отклонился от того, что написано в книге, а потом и вовсе удалил всё и написал по своему. Всё вроде шло неплохо - были ошибки - сидел кряхтел и находил. Дело в том, что по книжке уже было не подсмотреть - потому как в ней всё изачально по другому выполнялось. И тут вот сижу мудрю операцию сложения. Написал строк семь. Пересмотрел код. Удалил лишнее. Пересмотрел - удалил. В итоге осталась одна строчка, причём посути никак не относящаяся к делу =)). НО ВСЁ РАБОТАЕТ. ну не всё =) но складывает набранное число с одним знаком - смотря на какой тыкнешь после плюса. Вот тут я полностью перестал понимать, что происходит. Люди добры, посмотрите пажалста, отчего так происходит?
|
|
|||||
|
потому что у вас вычисление начинается при нажатии на цифры, а должно при нажатии на функуиональную клавишу.
сначала нужно на бумажке написать, какуя функция, в какой момент запускается, аля план для сочинения в 8 классе. Тогда вы будите понимать и контролировать процесс. ps И почему у вас расположение цыфровых кнопок шиворот на выворот? Последний раз редактировалось Mnilionic; 18.09.2007 в 16:22. |
|
|||||
|
Регистрация: Nov 2006
Сообщений: 10
|
ну тут не получается плана - потому как я на данный момент очень редко осознаю, что нужно будет сделать дальше, а уж сразу всю функциональность расписать мне ещё не под силу.
по поводу вычислений - в том то и дело, что откуда они беруться то - когда никаких вычислений и не должно происходить. по поводу расположения кнопок - а почему они должны располагаться как-то по другому? |
|
|||||
|
возмите обычный калькулятор (если нету используйте стандартный виндовский), там кстати и раскладку кнопок можете посмотреть, и проанализируйте очередность действий:
1. вводим значение первого параметра (клавиши от 0 до 9, "." и "-") 2. жмём функцию, которою хотим применить ("+", "cos", "*") 3 запоминаем функцию а. если функция работает с одним параметром, такие как cos или квадратный корень, то выводим результат. б. если функция работает с двумя параметрами, такие как сложение, деление, то вводим второй параметр, ц. если функция работает с двумя параметрами и уже объявленна, то выводим результат чтоб каждый раз после выолнения одной функции не делать "сброс", после каждого получения результата, клади его значение в первый параметр, а второй параметр и функцию убирай. |
|
|||||
|
Регистрация: Nov 2006
Сообщений: 10
|
общам я нашёл ошибку - на самом деле если бы операндом был бы минус - такого не произошло бы =) прост совпадение такое дурацкое =)))
у меня по ходу кода str то строка, то число - ну и собстна при нажатии на цифру нужно было просто преобразовать str обратно в строку. калькуль почти доделан =) |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|