Привет ! Один из лучших написанных калькуляторов которые удалось найти ) . Не можешь дать подсказку , как сделать так что - бы при вводе нескольких операций подряд выводилось адекватное значение ( допустим 3 + 2- 1 сейчас получается -2 ) и при этом сохронялась приоритетность операторов . 🙏🙏🙏
@GhostInTheWeb5 ай бұрын
Или нет , можно проще , без поддержки приоритетности знаков . Типа такой алгоритм : 3 + 2 * 2 = 10 . То есть суть в том что бы всё работало корректно без необходимости нажимать равно после каждой операции . Когда мы нажмём на * , то операция выполнится по + и одновременно подставится знак * . Не получается нифига так сделать (( не знаю что почитать что бы понять это
@IValnev5 ай бұрын
Привет! Спасибо, что нашёл этот странный баг. Попытаюсь в нём разобраться и обязательно напишу как его исправить. В целом вижу алгоритм таким: нужно делать вычисления каждый раз как был нажат второй и последующие знаки математических операций. Если мы будем в начале набирать весь пример, а уже потом вычислять значения, то у нас результат получится ошибочный. Например: 2+3*2 = 8, а (2+3)*2 = 10. В данной версии калькулятора скобки не предусмотрены. Поэтому нужно в моменте вычислять значение.
@GhostInTheWeb5 ай бұрын
@@IValnev Да-да, тоже имел в виду такой алгоритм) вполне норм будет. Кстати, ещё точку можно нажимать сколько угодно раз ), но это так, ерунда. Ещё с самого начала можно вводить кучу нулей, но это опять же мелочь. Буду ждать, спасибо большое 🤘
@IValnev5 ай бұрын
Спасибо за обратную связь! По комментарию с вводом нескольких операций без необходимости нажатия знака равенства. Например у нас есть выражение 3 + 2 - 1. Я добавил ещё одну переменную, которая отвечает за знак предыдущей операции. Если переменная заполнена, то будет рассчитана сумма 3+2, если значение переменной нет или оно совпадает с текущей операцией, то будет рассчитана часть выражения -1. По поводу нулей и точек, я сделал проверку с помощью регулярного выражения и проверки на начальное значение input.value. Ещё раз спасибо за обратную связь. На следующей неделе выложу видео с разбором данных ошибок и покажу как удалось их исправить в коде.
@GhostInTheWeb5 ай бұрын
@@IValnev Да не за что , это мне больше нужно ) Нейронка мне тоже подсказала вариант с доп.переменной , но реализовать пока не получилось . Теперь стало понятнее, буду ещё пробовать . А на счёт видео с разбором ошибок - это вообще отдельная сказка ! 👍👍👍
@АндрейШубин-г5у10 ай бұрын
Здравствуйте, а как быть с кнопками (m+, m-, mrc) хотелось бы узнать их код для реализации своего калькулятора сам я не програмист
@IValnev10 ай бұрын
Привет! Реализацию этих кнопок специально не стал делать. Оставил на откуп зрителю, если будет интересно их оживить. Если по простому, то можно сделать как у меня в примере: codesandbox.io/p/sandbox/calculator-mrc-zy6g9j