const display = document.getElementById("display"); const numbers = document.querySelectorAll(".number"); const operators = document.querySelectorAll(".operator"); const equals = document.getElementById("equals"); const clear = document.getElementById("clear"); const decimal = document.querySelector(".decimal"); let currentInput = ""; let firstOperand = null; let operator = null; numbers.forEach( number=> { number.addEventListener("click", () => { currentInput += number.textContent; display.value = currentInput; }) }) decimal.addEventListener("click", () => { if(!currentInput.includes(".")) { currentInput += "."; display.value = currentInput; } }) operators.forEach(op => { op.addEventListener("click", () => { if(currentInput !== "") { if(firstOperand === null){ firstOperand = parseFloat(currentInput); } else { calculate(); firstOperand = parseFloat(currentInput); } operator = op.textContent; currentInput = ""; } }) }) function calculate() { const secondOperand = parseFloat(currentInput); let result; switch(operator) { case "+": result = firstOperand + secondOperand; break; case "-": result = firstOperand - secondOperand; break; case "*": result = firstOperand * secondOperand; break; case "/": if(secondOperand == 0) { result = "Nelze dělit nulou"; } else { result = firstOperand / secondOperand; } break; } currentInput = result.toString(); display.value = currentInput; } equals.addEventListener("click", () => { if(firstOperand !== null && operator !== null && currentInput !== null) { calculate(); firstOperand = null; operator = null; } }) clear.addEventListener("click", () => { currentInput = ""; operator = null; firstOperand = null; display.value = ""; })