-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
108 lines (102 loc) · 1.98 KB
/
Copy pathscript.js
File metadata and controls
108 lines (102 loc) · 1.98 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
var input = "";
var equalsPressed = false;
var x = "";
var y = "";
var inputText = document.querySelector("#input");
var answerText = document.querySelector("#answer");
var op = "";
var answer = "";
const buttons = document.querySelectorAll("button");
initButtons();
function initButtons() {
for(var i = 0; i < buttons.length; i++) {
buttons[i].addEventListener("click", inputFunction);
}
}
function operate(op, x, y) {
switch(op) {
case "plus": return x + y;
break;
case "minus": return x - y;
break;
case "mult": return x * y;
break;
case "div": return x / y;
break;
}
}
function inputFunction() {
if(equalsPressed) {
input = x + "";
equalsPressed = false;
}
if(this.className == "op") {
if(input == "" && op == "") {
answer = "not a valid input1";
}
else {
if(op == "") {
x = parseInt(input);
op = this.id.toLowerCase();
}
else {
calcResult();
x = answer;
y = "";
input = answer;
answer = "";
op = this.id.toLowerCase();
}
if(this.id == "Plus") {
input += " + ";
}
else if(this.id == "Minus") {
input += " - ";
}
else if(this.id == "Mult") {
input += " * ";
}
else if(this.id == "Div") {
input += " / ";
}
}
}
else if(this.id == "equals") {
calcResult();
equalsPressed = true;
}
else if(this.className == "num") {
input += this.id;
if(op != "") {
y += this.id;
}
}
else if(this.id == "clear") {
op = "";
input = "";
answer = "";
x = "";
y = "";
}
updateInput();
updateAnswer();
}
function calcResult() {
if(y == "" || op == "") {
answer = "not a valid input";
console.log("x " + (x == "") + " y " + (y == "") + " op " + (op == ""));
}
else {
answer = operate(op, parseInt(x), parseInt(y));
op = "";
x = answer + "";
console.log("x equals " + x);
y = "";
}
}
function updateInput() {
inputText.innerHTML = input;
}
function updateAnswer() {
answerText.innerHTML = answer;
}