forked from Mostafa-Ghafourian/Mostafa-Project
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
42 lines (37 loc) · 1.25 KB
/
app.js
File metadata and controls
42 lines (37 loc) · 1.25 KB
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
function getNumber(value) {
input.value += value;
}
const oprate = [];
function getOprate(value) {
input.value += value;
oprate.push(value);
}
function calculate() {
const expression = input.value;
try {
const result = eval(expression); // استفاده از eval برای محاسبه
input.value = result; // نمایش نتیجه
} catch (error) {
console.error("Error in calculation: ", error);
input.value = "Error"; // نمایش خطا در صورت وجود
}
}
const _ = document;
const input = _.getElementById("input");
const buttons = _.querySelectorAll("#div button");
buttons.forEach(button => {
button.addEventListener("click", () => {
const value = button.textContent.trim();
if (!isNaN(value)) {
getNumber(value);
} else if (value === "R") {
input.value = input.value.slice(0, -1); // حذف آخرین کاراکتر
} else if (value === "C") {
input.value = ""; // پاک کردن ورودی
} else if (value === "=") {
calculate(); // محاسبه نتیجه
} else {
getOprate(value); // افزودن عملگر
}
});
});