Skip to content

Instantly share code, notes, and snippets.

@lenka21
Last active August 29, 2015 14:20
Show Gist options
  • Save lenka21/bf05756d57508b552e87 to your computer and use it in GitHub Desktop.
Save lenka21/bf05756d57508b552e87 to your computer and use it in GitHub Desktop.
Kalkulator
<!DOCTYPE html>
<html>
<head lang="pl">
<meta charset="UTF-8">
<script src="main.js"></script>
<title>kalkulator</title>
</head>
<body>
<input id="screen" placeholder="0" type="text">
<div>
<input type="button" value="1" onclick="add(this.value)">
<input type="button" value="2" onclick="add(this.value)">
<input type="button" value="3" onclick="add(this.value)">
</div>
<div>
<input type="button" value="4" onclick="add(this.value)">
<input type="button" value="5" onclick="add(this.value)">
<input type="button" value="6" onclick="add(this.value)">
</div>
<div>
<input type="button" value="7" onclick="add(this.value)">
<input type="button" value="8" onclick="add(this.value)">
<input type="button" value="9" onclick="add(this.value)">
</div>
<div>
<input type="button" value="." onclick="add(this.value)">
<input type="button" value="0" onclick="add(this.value)">
<input type="button" value="+" onclick="calc(document.getElementById('screen').value);add(this.value)">
</div>
<div>
<input type="button" value="-" onclick="calc(document.getElementById('screen').value);add(this.value)">
<input type="button" value="*" onclick="calc(document.getElementById('screen').value);add(this.value)">
<input type="button" value="/" onclick="calc(document.getElementById('screen').value);add(this.value)">
</div>
<input type="button" value="C" onclick="add(this.value)">
<input type="button" value='=' onclick="calc(document.getElementById('screen').value)">
</body>
</html>
function add(value) {
if (value == 'C') {
document.getElementById('screen').value = '';
} else {
document.getElementById('screen').value += value;
}
}
function oblicz(a,b,op) {
switch (op) {
case "+":
result = a + b;
break;
case "-":
result = a - b;
break;
case "*":
result = a * b;
break;
case "/":
result = a / b;
break;
}
return result;
}
function calc(equ) {
var ops = equ.split(/[\d\.]+/),
args = equ.split(/[\+\-\*\/]/);
ops = ops.slice(1, ops.length-1);
for (var i = 0; i < args.length; i++){
args[i] = parseFloat(args[i]);
}
while (ops.length > 0){
args[0] = oblicz(args[0], args[1], ops[0]);
args.splice(1, 1);
ops.shift();
}
document.getElementById('screen').value = args[0];
}
function add(Value) {
if (Value == 'C') {
document.getElementById('screen').value = '';
} else {
document.getElementById('screen').value += Value;
}
}
function calc(equ) {
document.getElementById('screen').value = eval(equ);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment