let outputscreen = document.getElementById('output-screen'); function display(num) { outputscreen.value += num } function calculate() { try { outputscreen.value = eval(outputscreen.value) } catch (err) { alert("Invalid") } } function clr() { outputscreen.value = '' } function del() { outputscreen.value = outputscreen.value.slice(0, -1) } function sqrtAction() { const val = outputscreen.value.trim() if (val === '') return try { // evaluate the current expression first so the user can do e.g. "9+7" then √ -> sqrt(16) const evaluated = eval(val) if (typeof evaluated !== 'number' || isNaN(evaluated)) { alert('Invalid') return } if (evaluated < 0) { alert('Cannot take square root of negative number') return } outputscreen.value = Math.sqrt(evaluated) } catch (err) { alert('Invalid') } } function percentAction() { const val = outputscreen.value.trim() if (val === '') return try { const evaluated = eval(val) if (typeof evaluated !== 'number' || isNaN(evaluated)) { alert('Invalid') return } outputscreen.value = evaluated / 100 } catch (err) { alert('Invalid') } } function squareAction() { const val = outputscreen.value.trim() if (val === '') return try { const evaluated = eval(val) if (typeof evaluated !== 'number' || isNaN(evaluated)) { alert('Invalid') return } outputscreen.value = evaluated * evaluated } catch (err) { alert('Invalid') } } function toggleSign() { const val = outputscreen.value.trim() if (val === '') return try { const evaluated = eval(val) if (typeof evaluated !== 'number' || isNaN(evaluated)) { alert('Invalid') return } outputscreen.value = evaluated * -1 } catch (err) { alert('Invalid') } }