Показать сообщение отдельно
  #5 (permalink)  
Старый 28.06.2019, 21:38
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от DarkPhoenix
А как все спаны
Этот позор замените на нормальные кнопки...

Кстати у вас получился не арифметический калькулятор! Т. е. если набрать 2+5*7= то у вас не получится 49

И именно то, за что так любят калькуляторы у вас эпично сломано! 2+= выдаёт 2, а не 4. И 1+==== выдаёт 1, а не 5. И 5×= выдаёт 5, а не 25. Какой баг!

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

Разве новое состояние калькулятора не должно вычисляться на основе текущего состояния и нажатой кнопки? (CalculatorState, PressedButton) => CalculatorState

И также есть проблема с работой над вычисленным значением... Если набрать 2+1=+1= то у вас получается 1, а не 4

CalculatorState нужен чтобы там можно было хранить, например, текущее вводимое число, операцию, предыдущее введённое число, и т. д. А PressedButton может быть и √ и ± и sin и др. и без состояния это оборачивается в жестокую манипуляцию над HTML-элементом!

Последний раз редактировалось Malleys, 28.06.2019 в 21:47.
Ответить с цитированием