From 66dd9153b85fae4eb2704c477737ad85d8407aac Mon Sep 17 00:00:00 2001 From: brauni18 Date: Sun, 30 Nov 2025 19:24:32 +0200 Subject: [PATCH 1/2] js update --- index.html | 4 ++-- script.js | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 script.js diff --git a/index.html b/index.html index 935c09e..4ae638a 100644 --- a/index.html +++ b/index.html @@ -28,10 +28,10 @@
- +
diff --git a/script.js b/script.js new file mode 100644 index 0000000..199d611 --- /dev/null +++ b/script.js @@ -0,0 +1,33 @@ +const numbers = document.querySelectorAll(".number"); +const display = document.querySelector(".display"); +numbers.forEach((number) => { + number.addEventListener("click", () => { + display.textContent += number.textContent; + }); +}); +const addButton = document.getElementById("add"); +const subtractButton = document.getElementById("subtract"); +const multiplyButton = document.getElementById("multiply"); +const divideButton = document.getElementById("divide"); +const clearButton = document.getElementById("clear"); +const equalsButton = document.getElementById("equal"); + +addButton.addEventListener("click", () => { + display.textContent += "+"; +}); +subtractButton.addEventListener("click", () => { + display.textContent += "-"; +}); +multiplyButton.addEventListener("click", () => { + display.textContent += "*"; +}); +divideButton.addEventListener("click", () => { + display.textContent += "/"; +}); +clearButton.addEventListener("click", () => { + display.textContent = ""; +}); +equalsButton.addEventListener("click", () => { + + display.textContent = eval(display.textContent); +}); From 733e65b33f2933bbe66618b17802b0b79b98730c Mon Sep 17 00:00:00 2001 From: brauni18 Date: Thu, 4 Dec 2025 19:30:56 +0200 Subject: [PATCH 2/2] tal braun-js update --- script.js | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/script.js b/script.js index 199d611..adaf6f8 100644 --- a/script.js +++ b/script.js @@ -5,6 +5,7 @@ numbers.forEach((number) => { display.textContent += number.textContent; }); }); + const addButton = document.getElementById("add"); const subtractButton = document.getElementById("subtract"); const multiplyButton = document.getElementById("multiply"); @@ -29,5 +30,45 @@ clearButton.addEventListener("click", () => { }); equalsButton.addEventListener("click", () => { - display.textContent = eval(display.textContent); + const expression = display.textContent; + const parts = expression.split(/([+\-*/])/); + + parts.forEach((part, i) => { + + if(part == "*") { + const prevNumber = parseFloat(parts[i - 1]); + const nextNumber = parseFloat(parts[i + 1]); + const result = prevNumber * nextNumber; + parts.splice(i - 1, 3, result); + i -= 2; + + } else if(part == "/") { + const prevNumber = parseFloat(parts[i - 1]); + const nextNumber = parseFloat(parts[i + 1]); + if (nextNumber === 0) { + display.textContent = "Error"; + return; + } + const result = prevNumber / nextNumber; + parts.splice(i - 1, 3, result); + i -= 2; + } + }); + + parts.forEach((part, i) => { + if (part == "+") { + const prevNumber = parseFloat(parts[i - 1]); + const nextNumber = parseFloat(parts[i + 1]); + const result = prevNumber + nextNumber; + parts.splice(i - 1, 3, result); + i -= 2; + } else if (part == "-") { + const prevNumber = parseFloat(parts[i - 1]); + const nextNumber = parseFloat(parts[i + 1]); + const result = prevNumber - nextNumber; + parts.splice(i - 1, 3, result); + i -= 2; + } + }); + display.textContent = parts[0]; });