From 432f91866c53e31c0649ab7257999aa5bab82be8 Mon Sep 17 00:00:00 2001 From: Csenge Emese Ujfaluczki <ujfaluczkicsenge@localhost> Date: Sun, 2 Mar 2025 09:39:56 +0000 Subject: [PATCH] Add szamrendszer.js --- szamrendszer.js | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 szamrendszer.js diff --git a/szamrendszer.js b/szamrendszer.js new file mode 100644 index 0000000..b1ff92b --- /dev/null +++ b/szamrendszer.js @@ -0,0 +1,66 @@ +document.addEventListener("DOMContentLoaded", function () { + const inputValue = document.getElementById("érték"); + const inputBase = document.getElementById("bevitel"); + const outputBase = document.getElementById("kimenet"); + const outputValue = document.getElementById("kiszámoltérték"); + const convertButton = document.getElementById("számolás"); + const swapButton = document.getElementById("felcserélés"); + + function convertNumber(value, fromBase, toBase) { + let decimalValue; + + // Convert input to decimal first + switch (fromBase) { + case "bináris": + decimalValue = parseInt(value, 2); + break; + case "oktális": + decimalValue = parseInt(value, 8); + break; + case "decimális": + decimalValue = parseInt(value, 10); + break; + case "hexadecimális": + decimalValue = parseInt(value, 16); + break; + default: + return "Hibás bemenet"; + } + + if (isNaN(decimalValue)) { + return "Érvénytelen szám"; + } + + // Convert decimal to target base + switch (toBase) { + case "bináris": + return decimalValue.toString(2); + case "oktális": + return decimalValue.toString(8); + case "decimális": + return decimalValue.toString(10); + case "hexadecimális": + return decimalValue.toString(16).toUpperCase(); + default: + return "Hibás átváltás"; + } + } + + convertButton.addEventListener("click", function () { + const value = inputValue.value.trim(); + const fromBase = inputBase.value; + const toBase = outputBase.value; + + outputValue.value = convertNumber(value, fromBase, toBase); + }); + + swapButton.addEventListener("click", function () { + const tempBase = inputBase.value; + inputBase.value = outputBase.value; + outputBase.value = tempBase; + + const tempValue = inputValue.value; + inputValue.value = outputValue.value; + outputValue.value = tempValue; + }); + }); \ No newline at end of file