-
Notifications
You must be signed in to change notification settings - Fork 2
/
calci.js
83 lines (67 loc) · 2.04 KB
/
calci.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
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
//log like history
// cannot hold data more than once run
let history=[];
function writeinscreen(x){
x=String(x);
if (x!="AC" && x!="="){
document.getElementById("screen").innerHTML+=x;
}
if (x=="AC"){
document.getElementById("screen").innerHTML="";
}
if (x=="b"){
let tempcont="";
let content=document.getElementById("screen").innerText;
if (content.length!=0){
for (let i=0;i<(content.length-2);i++){
tempcont+=content.charAt(i);
console.log(content.charAt(i))
}
}
console.log(tempcont);
document.getElementById("screen").innerHTML=tempcont;
tempcont="";
}
if (x=="="){
try{
let content=document.getElementById("screen").innerText;
let content_to_put=document.getElementById("screen").innerText;
content=content.replace("x","*");
console.log(content);
let processedcontent=eval(content);
history.push(content_to_put);
document.getElementById("screen").innerHTML+=" = "+processedcontent;
setTimeout(function(){
document.getElementById("screen").innerHTML="";
},1500);
}
catch(err){
document.getElementById("screen").innerHTML="SYNTAX ERROR!"
console.log(err);
setTimeout (function(){
document.getElementById("screen").innerHTML="";
},1500)
}
}
}
//pointer like in database in python
let pointer=history.length
function showhistory(x){
document.getElementById("screen").innerHTML="";
if (x=="UP"){
pointer--;
}
if (x=='DOWN'){
pointer++;
}
if (pointer>history.length){
pointer=0;
}
if (pointer<0){
pointer=history.length;
}
if (history[pointer]!=undefined){
document.getElementById("screen").innerHTML=history[pointer];
}
}