calc: только сложение и вычитание

This commit is contained in:
olzhasus 2026-06-03 16:36:53 +00:00
parent 7203eca882
commit a71bf80a04

View File

@ -97,25 +97,20 @@ body {
<div class="calc"> <div class="calc">
<div class="display" id="display">0</div> <div class="display" id="display">0</div>
<div class="buttons"> <div class="buttons">
<button class="btn btn-clear" id="clear">C</button>
<button class="btn btn-op" data-op="±">±</button>
<button class="btn btn-op" data-op="%">%</button>
<button class="btn btn-op" data-op="÷">÷</button>
<button class="btn btn-num" data-num="7">7</button> <button class="btn btn-num" data-num="7">7</button>
<button class="btn btn-num" data-num="8">8</button> <button class="btn btn-num" data-num="8">8</button>
<button class="btn btn-num" data-num="9">9</button> <button class="btn btn-num" data-num="9">9</button>
<button class="btn btn-op" data-op="×">×</button> <button class="btn btn-op" data-op=""></button>
<button class="btn btn-num" data-num="4">4</button> <button class="btn btn-num" data-num="4">4</button>
<button class="btn btn-num" data-num="5">5</button> <button class="btn btn-num" data-num="5">5</button>
<button class="btn btn-num" data-num="6">6</button> <button class="btn btn-num" data-num="6">6</button>
<button class="btn btn-op" data-op=""></button> <button class="btn btn-op" data-op="+">+</button>
<button class="btn btn-num" data-num="1">1</button> <button class="btn btn-num" data-num="1">1</button>
<button class="btn btn-num" data-num="2">2</button> <button class="btn btn-num" data-num="2">2</button>
<button class="btn btn-num" data-num="3">3</button> <button class="btn btn-num" data-num="3">3</button>
<button class="btn btn-op" data-op="+">+</button> <button class="btn btn-clear" id="clear">C</button>
<button class="btn btn-num btn-zero" data-num="0">0</button> <button class="btn btn-num btn-zero" data-num="0">0</button>
<button class="btn btn-num" data-num=".">.</button> <button class="btn btn-num" data-num=".">.</button>
@ -149,8 +144,6 @@ document.querySelectorAll('[data-num]').forEach(btn => {
document.querySelectorAll('[data-op]').forEach(btn => { document.querySelectorAll('[data-op]').forEach(btn => {
btn.addEventListener('click', () => { btn.addEventListener('click', () => {
const op = btn.dataset.op; const op = btn.dataset.op;
if (op === '±') { current = String(parseFloat(current) * -1); updateDisplay(current); return; }
if (op === '%') { current = String(parseFloat(current) / 100); updateDisplay(current); return; }
if (previous !== '' && !resetDisplay) compute(); if (previous !== '' && !resetDisplay) compute();
previous = current; previous = current;
operation = op; operation = op;
@ -179,14 +172,10 @@ function compute() {
const b = parseFloat(current); const b = parseFloat(current);
if (isNaN(a) || isNaN(b)) return; if (isNaN(a) || isNaN(b)) return;
let result; let result;
switch (operation) { if (operation === '+') result = a + b;
case '+': result = a + b; break; else if (operation === '') result = a - b;
case '': result = a - b; break; else return;
case '×': result = a * b; break; current = String(Math.round(result * 1e10) / 1e10);
case '÷': result = b !== 0 ? a / b : 'Ошибка'; break;
default: return;
}
current = typeof result === 'number' ? String(Math.round(result * 1e10) / 1e10) : result;
updateDisplay(current); updateDisplay(current);
resetDisplay = true; resetDisplay = true;
} }