JSFiddle - React, Tailwind, and code Playground
by Erik East
HTML
<h1>Stack Calculator</h1>
<p>Give your pennance (max 20 characters):</p><br/>
<p id="demo"></p>
<input type='text' id='stuffing' size='20' onkeypress='captureEnter(event);'><br/>
JavaScript
//<input type='button' value="Push Value" id='add' onclick="">
var stackList = [];
var input = '';
function captureEnter(e){
if(e.keyCode === 13){
ultimateMathFunction();
}
return false;
}
function ultimateMathFunction(){
var blaf = document.getElementById('stuffing').value;
if(!isNaN(parseInt(blaf, 10))){
stackList.push(blaf);
}else if(blaf=='*'){
var op1 = stackList.pop();
var op2 = stackList.pop();
var mult = op1 * op2;
stackList.push(mult);
}else if(blaf=='+'){
var op3 = stackList.pop();
var op4 = stackList.pop();
var add = parseInt(op3) + parseInt(op4);
stackList.push(add);
}else if(blaf=='-'){
var op5 = stackList.pop();
var op6 = stackList.pop();
var sub = op5 - op6;
stackList.push(sub);
}else if(blaf=='/'){
var op7 = stackList.pop();
var op8 = stackList.pop();
var div = op7 / op8;
stackList.push(div);
}
document.getElementById('stuffing').value = '';
printStack();
}
function printStack (){
document.getElementById('demo').innerHTML = '' ;
for(var i= 0; i<stackList.length; i++){
document.getElementById('demo').innerHTML += stackList[i] + ' -- ';
}
}