-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
78 lines (69 loc) · 1.65 KB
/
Copy pathscript.js
File metadata and controls
78 lines (69 loc) · 1.65 KB
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
let display = document.getElementById('display');
let currentInput = '0';
let operator = null;
let previousInput = null;
function inputDigit(digit) {
if (currentInput === '0') {
currentInput = digit.toString();
} else {
currentInput += digit;
}
updateDisplay();
}
function inputDecimal() {
if (!currentInput.includes('.')) {
currentInput += '.';
}
updateDisplay();
}
function clearDisplay() {
currentInput = '0';
operator = null;
previousInput = null;
updateDisplay();
}
function inputOperator(op) {
if (operator !== null) {
calculateResult();
}
operator = op;
previousInput = currentInput;
currentInput = '0';
}
function calculateResult() {
if (operator === null || previousInput === null) {
return;
}
let result;
const prev = parseFloat(previousInput);
const current = parseFloat(currentInput);
switch (operator) {
case '+':
result = prev + current;
break;
case '-':
result = prev - current;
break;
case '*':
result = prev * current;
break;
case '/':
result = prev / current;
break;
case '%':
result = prev % current;
break;
case '+/-':
result = -current;
break;
default:
return;
}
currentInput = result.toString();
operator = null;
previousInput = null;
updateDisplay();
}
function updateDisplay() {
display.innerText = currentInput;
}