Мини-калькулятор через функцию
Всем доброго дня, работяги! Препод говорит, что нужно сделать калькулятор с функциями. Должно быть меню, по которому можно выбрать опцию. Это я сделал. Вот только говорит "Если меню равен 1, то вводит 2 числа и вызвать функцию". Еще говорит, все "if" не должны быть внутри функции, а наоборот. Может кто чем-то помочь? Я не справляюсь(
let menu = prompt("Калькулятор: 1) сложение, 2) вычитание, 3)умножение, 4) деление") function calc1(a, b) { if (menu == 1){ let s1 = prompt("a"); let s2 = prompt("b"); let sum = +s1 + +s2; alert(sum); } } function calc2(a, b) { if (menu ==2){ let s1 = prompt("a"); let s2 = prompt("b"); let sub = s1 - s2; alert(sub); } } function calc3(a, b) { if (menu == 3){ let s1 = prompt("a"); let s2 = prompt("b"); let multi = s1 * s2; alert(multi); } } function calc4(a, b) { if (menu == 4){ let s1 = prompt("a"); let s2 = prompt("b"); let div = s1 / s2; alert(div); } } calc1() calc2() calc3() calc4() |
Может так?
function calc() { const menu = prompt("Калькулятор: 1) сложение, 2) вычитание, 3)умножение, 4) деление"); const a = prompt("a"); const b = prompt("b"); const operation = [false, '+', '-', '*', '/'][menu] || false; if (!operation) return alert('Wrong operation'); return eval(a + ' ' + operation + ' ' + b + ';'); }; alert(calc()); |
Вариант без eval
function calc() { const menu = prompt("Калькулятор: 1) сложение, 2) вычитание, 3)умножение, 4) деление"); const a = +prompt("a"); const b = +prompt("b"); const result = [false, a + b, a - b, a * b, a / b][menu]; return result === false || result === undefined ? 'Wrong operation' : result; }; alert(calc()); |
простой калькулятор
:) :write:
function calc() { const index = prompt("Калькулятор: 1) сложение, 2) вычитание, 3) умножение, 4) деление"); const a = prompt("a"); const b = prompt("b"); const result = { 1 : +a + +b, 2 : a - b, 3 : a * b, 4 : a / b }[index]; return result == +result && result || "Wrong operation"; } alert(calc()); |
мини калькулятор
<input type="text"><button>=</button> <script> var input = document.querySelector('input'); document.querySelector('button').onclick = e => input.value = eval(input.value); </script> |
Часовой пояс GMT +3, время: 21:50. |