-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
114 lines (109 loc) · 2.64 KB
/
script.js
File metadata and controls
114 lines (109 loc) · 2.64 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
109
110
111
112
113
114
const output=document.querySelector('.output');
const buffer=[];
// const operandArr=[];
// const operatorArr=[];
function arrtomath(arr){
let x="";
let op1=0;
let op2=0;
let operand='';
for(i=0;i<arr.length;i++){
if(arr[i]!="*" && arr[i]!="/" && arr[i]!="+" && arr[i]!="-"){
x+=arr[i];
console.log(x);
}else{
if(operand==''){
op1=parseInt(x);
x='';
}else{
if(operand=="*"){
if(op1==0){
op1=parseInt(x);
x='';
console.log(op1);
}else{
op2=parseInt(x);
console.log(op2);
x='';
op1*=op2;
console.log(op1);
}
}else if(operand=="/"){
if(op1==0){
op1=parseInt(x);
x='';
}else{
op2=parseInt(x);
x='';
op1/=op2;
console.log(op1);
}
}else if(operand=="+"){
if(op1==0){
op1=parseInt(x);
x='';
}else{
op2=parseInt(x);
x='';
op1+=op2;
console.log(op1);
}
}else{
if(op1==0){
op1=parseInt(x);
x='';
}else{
op2=parseInt(x);
x='';
op1-=op2;
console.log(op2);
}
}
}
operand=arr[i];
}
}
//return op1;
if(operand=='*'){
return op1*parseInt(x);
}else if(operand=='/'){
return op1/parseInt(x);
}else if(operand=='+'){
return op1+parseInt(x);
}else{
return op1-parseInt(x);
}
}
const elements=document.querySelectorAll("button");
// const numbers = document.querySelectorAll('.number');
// const operators=document.querySelectorAll('.operator')
elements.forEach(element => {
element.addEventListener('click', function (event) {
let input=event.target.innerText;
if(input!=="C" && input!=="<-" && input!=="="){
buffer.push(input);
console.log(buffer);
//console.log(input);
if(input!="*" && input!="/" && input!="+" && input!="-"){
output.innerText=output.innerText+event.target.innerText;
}else{
output.innerText="0";
}
}else if(input=="="){
output.innerText=arrtomath(buffer);
while(buffer.length > 0) {
buffer.pop();
}
}else if(input=="C"){
while(buffer.length > 0) {
buffer.pop();
}
output.innerText="0";
}else{//it means input=<-
buffer.pop();
//this code emoves the last char of a string:
output.innerText=output.innerText.substring(0,output.innerText.length-1);
//console.log(output.innerText);
}
});
});