<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Unconventional Calculator</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <header>
        <div class="header">
            <h2>Unconventional Calculator</h2>
        </div>    
    </header>
    <div class="container">
        <div class="firstElement">
            <div>
                <input type="number" id="inputNumber">
                <div class="button">
                    <div class="butt"><button type="button" id="add">+</button></div>
                    <div class="butt"><button type="button" id="subtract">-</button></div>
                    <div class="butt"><button type="button" id="divide">/</button></div>
                    <div class="butt"><button type="button" id="multiply">*</button></div>
                </div>
                
            </div>
            
        </div>

        <div class="nextElement">
            <h3 id="calculation">0</h3>
            <h3>Result <span id="result">:0</span></h3>
        </div>
       
    </div>

 <script src="script.js"></script>   
</body>
</html>
div.header{
    background-color: tomato;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}
div.header h2{
    color: white;
}
input{
    display: block;
    margin: 5px;
}
.button{
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}
button{
    padding: 5px;
    border: none;
    background-color: tomato;
    color: white;
    align-items: center;
}
.firstElement{
    outline: 1px solid black;
    display: inline-block;
    display: flex;
    align-items: center;
    justify-content: center;
}
.nextElement{
    text-align: center;
    margin: 10px;
}
const addButton = document.getElementById("add");
const subtractButton = document.getElementById("subtract");
const divideButton = document.getElementById("divide");
const multiplyButton = document.getElementById("multiply");
const calculation = document.getElementById("calculation");
const result = document.getElementById("result");
const inputNum = document.getElementById("inputNumber");

function outputResult(answer, text) {
  result.textContent = answer;
  calculation.textContent = text;
}

const defaultResult = 0;
currentResult = defaultResult;
let logEntries = [];

function getUserInput() {
  return parseInt(inputNum.value);
}

function writeToLog(prevResult, operand, original) {
  let calcDescription = `${prevResult} ${operand} ${original}`;
  outputResult(currentResult, calcDescription);
}

function createLog(operationidentifier, older, olderTwo, newResult) {
  let logEntry = {
    operation: operationidentifier,
    numberOne: older,
    numberTwo: olderTwo,
    newResult: newResult,
  };
  logEntries.push(logEntry);
  console.log(logEntries);
}

function createOutput(conditional) {
  const enteredNumber = getUserInput();
  if (
    (conditional !== "ADD" &&
      conditional !== "SUBTRACT" &&
      conditional !== "DIVIDE" &&
      conditional !== "MULTIPLY") ||
    enteredNumber === 0
  ) {
    return;
  }

  let initialResult = currentResult;
  let differ;
  if (conditional === "ADD") {
    currentResult += parseInt(enteredNumber);
    differ = "+";
  } else if (conditional === "SUBTRACT") {
    currentResult -= parseInt(enteredNumber);
    differ = "-";
  } else if (conditional === "DIVIDE") {
    currentResult = currentResult / parseInt(enteredNumber);
    differ = "/";
  } else if (conditional === "MULTIPLY") {
    currentResult = currentResult * parseInt(enteredNumber);
    differ = "*";
  }

  writeToLog(initialResult, differ, enteredNumber);
  createLog(conditional, initialResult, enteredNumber, currentResult);
}

function add() {
  createOutput("ADD");
}

function subtract() {
  createOutput("SUBTRACT");
}

function divide() {
  createOutput("DIVIDE");
}

function multiply() {
  createOutput("MULTIPLY");
}

addButton.addEventListener("click", add);
subtractButton.addEventListener("click", subtract);
divideButton.addEventListener("click", divide);
multiplyButton.addEventListener("click", multiply);

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.