Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Мини-калькулятор через функцию (https://javascript.ru/forum/misc/74550-mini-kalkulyator-cherez-funkciyu.html)

Химер 20.07.2018 08:17

Мини-калькулятор через функцию
 
Всем доброго дня, работяги! Препод говорит, что нужно сделать калькулятор с функциями. Должно быть меню, по которому можно выбрать опцию. Это я сделал. Вот только говорит "Если меню равен 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()

Nexus 20.07.2018 09:54

Может так?
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());

Ermite 22.07.2018 14:08

Вариант без 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());

рони 22.07.2018 15:02

простой калькулятор
 
:) :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());

j0hnik 22.07.2018 15:08

мини калькулятор
<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.