-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcalc.js
51 lines (42 loc) · 2.12 KB
/
calc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// Создайте простой калькулятор Calc, который будет принимать значение a и значение b, а так же идентификатор нужного действия.
// Пример вызова такой функции
// Calc(‘sum’, 1, 2) - возвращает 3
// Calc(‘multi’, 1, 2) - возвращает 2
// И так далее, со всеми математическими действиями, которые вы изучили в задаче #7
// Но и это еще не все.
// Ваш калькулятор должен возвращать сообщение “Error” в том случае если вы не указали все 3 параметра или если вычисляемые значения оказались не числами.
// В случае с неверным “идентификатором нужного действия” возвращайте “unknown operation”
function Calc(mathOperation, num1, num2) {
const isNotValid =
mathOperation == undefined ||
num1 == undefined ||
num2 == undefined ||
typeof num1 !== 'number' ||
typeof num2 !== 'number';
if (isNotValid) {
return 'Error';
} else if (mathOperation == 'sum') {
return `${num1} + ${num2} = ${num1 + num2}`;
} else if (mathOperation == 'multi') {
return `${num1} x ${num2} = ${num1 * num2}`;
} else if (mathOperation == 'Subt') {
return `${num1} - ${num2} = ${num1 - num2}`;
} else if (mathOperation == 'Dvsn') {
return `${num1} / ${num2} = ${num1 / num2}`;
} else if (mathOperation == 'Exp') {
return `${num1} в ${num2} степени: ${num1 ** num2}`;
} else if (mathOperation == 'Rmndr') {
return `Остаток от деления ${num1} на ${num2}: ${num1 % num2}`;
}
return 'unknown operation';
}
console.log(Calc('sum', 2, 9));
console.log(Calc('multi', 2, 3));
console.log(Calc('Subt', 2, 3));
console.log(Calc('Dvsn', 27, 3));
console.log(Calc('Exp', 18, 3));
console.log(Calc('Rmndr', 9, 3));
console.log(Calc('su', 2, 3));
console.log(Calc('su', '', 3));
console.log(Calc('su', 2, ''));
console.log(Calc('sum', 3));