Have you ever wondered how to build a powerful scientific calculator using JavaScript? Well, you’re in luck! In this step-by-step guide, we’ll walk you through the process of creating your very own JavaScript Scientific Calculator. With a few lines of code and some basic HTML and CSS, you’ll have a functional calculator that can perform a wide range of mathematical operations.
HTML Scientific Calculator Interface
This code creates the user interface for a basic scientific calculator using HTML, featuring a display input field and buttons for numerical input, mathematical operations, and functions. JavaScript functions linked to the buttons handle user interactions and calculations. Note that there are minor issues in the code, such as typographical errors and the deprecated “language” attribute in the script tag, which should be replaced with “type.”
<head> <script language="javascript"></script> </head> <form name="sci-calc"> <table class="calculator" cellspacing="0" cellpadding="1"> <tr> <td colspan="5"><input id="display" name="display" value="0" size="28" maxlength="25"></td> </tr> <tr> <td><input type="button" class="btnTop" name="btnTop" value="C" onclick="this.form.display.value= 0 "></td> <td><input type="button" class="btnTop" name="btnTop" value="<--" onclick="deleteChar(this.form.display)"></td> <td><input type="button" class="btnTop" name="btnTop" value="=" onclick="if(checkNum(this.form.display.value)) { compute(this.form) }"></td> <td><input type="button" class="btnOpps" name="btnOpps" value="π" onclick="addChar(this.form.display,'3.14159265359')"></td> <td><input type="button" class="btnMath" name="btnMath" value="%" onclick=" percent(this.form.display)"></td> </tr> <tr> <td><input type="button" class="btnNum" name="btnNum" value="7" onclick="addChar(this.form.display, '7')"></td> <td><input type="button" class="btnNum" name="btnNum" value="8" onclick="addChar(this.form.display, '8')"></td> <td><input type="button" class="btnNum" name="btnNum" value="9" onclick="addChar(this.form.display, '9')"></td> <td><input type="button" class="btnOpps" name="btnOpps" value="x^" onclick="if(checkNum(this.form.display.value)) { exp(this.form) }"></td> <td><input type="button" class="btnMath" name="btnMath" value="/" onclick="addChar(this.form.display, '/')"></td> <tr> <td><input type="button" class="btnNum" name="btnNum" value="4" onclick="addChar(this.form.display, '4')"></td> <td><input type="button" class="btnNum" name="btnNum" value="5" onclick="addChar(this.form.display, '5')"></td> <td><input type="button" class="btnNum" name="btnNum" value="6" onclick="addChar(this.form.display, '6')"></td> <td><input type="button" class="btnOpps" name="btnOpps" value="ln" onclick="if(checkNum(this.form.display.value)) { ln(this.form) }"></td> <td><input type="button" class="btnMath" name="btnMath" value="*" onclick="addChar(this.form.display, '*')"></td> </tr> <tr> <td><input type="button" class="btnNum" name="btnNum" value="1" onclick="addChar(this.form.display, '1')"></td> <td><input type="button" class="btnNum" name="btnNum" value="2" onclick="addChar(this.form.display, '2')"></td> <td><input type="button" class="btnNum" name="btnNum" value="3" onclick="addChar(this.form.display, '3')"></td> <td><input type="button" class="btnOpps" name="btnOpps" value="√" onclick="if(checkNum(this.form.display.value)) { sqrt(this.form) }"></td> <td><input type="button" class="btnMath" name="btnMath" value="-" onclick="addChar(this.form.display, '-')"></td> </tr> <tr> <td><input type="button" class="btnMath" name="btnMath" value="±" onclick="changeSign(this.form.display)"></td> <td><input type="button" class="btnNum" name="btnNum" value="0" onclick="addChar(this.form.display, '0')"></td> <td><input type="button" class="btnMath" name="btnMath" value="." onclick="addChar(this.form.display, '.')"></td> <td><input type="button" class="btnOpps" name="btnOpps" value="x2" onclick="if(checkNum(this.form.display.value)) { square(this.form) }"></td> <td><input type="button" class="btnMath" name="btnMath" value="+" onclick="addChar(this.form.display, '+')"></td> </tr> <tr> <td><input type="button" class="btnMath" name="btnMath" value="(" onclick="addChar(this.form.display, '(')"></td> <td><input type="button" class="btnMath" name="btnMath" value=")" onclick="addChar(this.form.display,')')"></td> <td><input type="button" class="btnMath" name="btnMath" value="cos" onclick="if(checkNum(this.form.display.value)) { cos(this.form) }"></td> <td><input type="button" class="btnMath" name="btnMath" value="sin" onclick="if(checkNum(this.form.display.value)) { sin(this.form) }"></td> <td><input type="button" class="btnMath" name="btnMath" value="tan" onclick="if(checkNum(this.form.display.value)) { tan(this.form) }"></td> </tr> </tabel> </form>
CSS Styling for a Scientific Calculator:
In this CSS code, styles are defined for a scientific calculator’s visual elements. It sets the layout, colors, borders, and sizes for the calculator’s components, including the display, buttons for digits, mathematical operations, and functions. The code ensures a visually appealing and user-friendly calculator interface.
* { padding: 0; margin: 5px; text-align: center; } body { background-color:grey; } .calculator { width: 350px; height: 320px; background-color: #c0c0c0; box-shadow: 0px 0px 0px 10px #666; border: 5px solid black; border-radius: 10px; } #display { width: 320px; height: 40px; text-align: right; background-color: black; border: 3px solid grey; font-size: 18px; left: 2px; top: 2px; color: #e60f0f; } .btnTop{ color: white; background-color: #6f6f6f; font-size: 14px; margin: auto; width: 50px; height: 25px; } .btnNum { color: white; background-color: #00000082; font-size: 14px; margin: auto; width: 50px; height: 25px; } .btnMath { color: white; background-color: #d90d0dd1; font-size: 14px; margin: auto; width: 50px; height: 25px; } .btnOpps { color: white; background-color: #d90d0dd1; font-size: 14px; margin: auto; width: 50px; height: 25px; }