본문 바로가기

공부/JS , HTML , CSS

[javascript] 사칙연산 계산기 만들기 ( javascript calculator)

 

완성된 모습

 

 

 

Document

계산기 활용 예






완성된 계산기 입니다 사용해 보세요

전체 코드

 

<!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>Document</title>

    <style>
        .calculator {
            border: solid 2px;
            width: 180px;
        } 

        input {
            margin: 5px;
        }
        

    </style>
</head>
<body>
    
        <h1>계산기 활용 예</h1>
        <div class="calculator">
            <input type="text" id="resultFld">
            <br>
            <input type="button" value="7" onclick="btn_click(7)">
            <input type="button" value="8" onclick="btn_click(8)">
            <input type="button" value="9" onclick="btn_click(9)">
            <input type="button" value="/" onclick="cal('/')">
            <br>
            <input type="button" value="4" onclick="btn_click(4)">
            <input type="button" value="5" onclick="btn_click(5)">
            <input type="button" value="6" onclick="btn_click(6)">
            <input type="button" value="*" onclick="cal('*')">
            <br>
            <input type="button" value="1" onclick="btn_click(1)">
            <input type="button" value="2" onclick="btn_click(2)">
            <input type="button" value="3" onclick="btn_click(3)">
            <input type="button" value="-" onclick="cal('-')">
            <br>
            <input type="button" value="0" onclick="btn_click(0)">
            <input type="button" value="." onclick="btn_click('.')">
            <input type="button" value="+" onclick="cal('+')">
            <input type="button" value="%" onclick="cal('%')">
            <br>
            <input type="button" value="계산하기" onclick="compute()">
            <input type="button" value="지우기" onclick="clear_del()">
        </div>
    <script>
        var num =0 ;
        var symbol ;

        function btn_click (a) {
            resultFld.value += a;
        }

        function cal(b) {
            var firstNum = (document.getElementById("resultFld").value);
            num = firstNum;
            symbol = b ;
            return document.getElementById("resultFld").value = "";
        }

        function compute () {
            var secNum = parseFloat(document.getElementById("resultFld").value);
            var result ;
            switch (symbol) {
                case '+' : result = Number(num) + Number(secNum) ; 
                document.getElementById("resultFld").value = result; 
                break;
                case '-' : result = Number(num) - Number(secNum) ; 
                document.getElementById("resultFld").value = result;
                break;
                case '*' : result = Number(num) * Number(secNum) ; 
                document.getElementById("resultFld").value = result;
                break;
                case '/' : result = Number(num) / Number(secNum) ; 
                document.getElementById("resultFld").value = result;
                break;
                case '%' : result = Number(num) % Number(secNum) ; 
                document.getElementById("resultFld").value = result;
                break;
            }        
        }

        function clear_del() {
            document.getElementById("resultFld").value = "";
            num = 0;
        }
        
    </script>
</body>
</html>

디자인을 전혀 신경 안쓰고 만들었더니 결과물이 보기가 안좋네요 ㅎㅎㅎ

꽤나 오랜 시간 걸려 만든 계산기 ㅜㅜ

switch 반복문을 활용해 구현해 보았습니다