@grinch_asd

Как реализовать такой "калькулятор*?

Здравствуйте.

Стоит задача реализовать "калькулятор" на сайте. Но суть его не в подсчете стоимости, а в показе заранее заданных по условию пакетов услуг. По сути есть 3 переменных, в каждой из них по 3 пункта. Всего пакетов услуг 3. Загвоздка заключается в том, что если человек выбирает, например, 1(1), 2(1), 3(1) ему показывается пакет "а", если 1(1), 2(2), 3(3) - пакет "в" и т.д. Т.е результат зависит от нескольких пунктов. Пробовал вручную через if else прописать все возможные варианты (их не так уж много) - работает некорректно тк есть пересекающиеся условия. Калькуляторы, что находил в гугле не совсем подходят под данную задачу. Подскажите как можно реализовать данную задачу - может я плохо прописывал вручную, или не то находил в гугле, или еще что
  • Вопрос задан
  • 149 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Нумеруете варианты от 0 до 2. Затем рассматриваете их как цифры числа в троичной системе. Переводите в десятичную, получаете номер от 0 до 26. Выводите пакет, соответствующий номеру.
Например, для варианта 1(0), 2(1), 3(2) получим 0*32+1*3+2 = 5. Выводим пакет, заданный под номером 5.
Ответ написан
@Alex_At_Net
Решать через if - самое правильное в этом случае. 3 переменных по 3 пункта - это всего 27 комбинаций. Если на каждую написать свой if, то работоспособность гарантирована. Предположу, что вы попробовали оптимизировать и свернуть некоторые if-ы и допустили ошибку. Тогда просто достаточно её исправить. Если же вы уверены, что ошибки нет (и её действительно нет), то эту задачу, увы, решить алгоритмически не представляется возможным :-)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы