반응형
<!DOCTYPE html>
<html>
<head>
<style>
button {
width:100px;
}
</style>
<meta charset="EUC-KR">
<title>계산기</title>
<script>
var number = 0;
var symbol;
function num_input(n) {
num.value += n;
}
function del() {
num.value = "";
number = 0;
}
function sign(){
var fstNum = (document.getElementById("num").value);
number = fstNum;
num.value = Number(number) * (-1);
}
function cal(n) {
var fstNum = (document.getElementById("num").value);
number = fstNum;
symbol = n;
return document.getElementById("num").value = "";
}
function oper() {
var secNum = parseFloat(document.getElementById("num").value);
var rst;
switch(symbol) {
case '+':
rst = Number(number) + Number(secNum);
document.getElementById("num").value = rst;
break;
case '-':
rst = Number(number) - Number(secNum);
document.getElementById("num").value = rst;
break;
case '*':
rst = Number(number) * Number(secNum);
document.getElementById("num").value = rst;
break;
case '/':
rst = Number(number) / Number(secNum);
document.getElementById("num").value = rst;
break;
case '^':
rst = Math.pow(Number(number), Number(secNum));
document.getElementById("num").value = rst;
break;
case 'sin':
rst = Math.sin(Number(number), Number(secNum));
document.getElementById("num").value = rst;
break;
case 'cos':
rst = Math.cos(Number(number), Number(secNum));
document.getElementById("num").value = rst;
break;
case 'tan':
rst = Math.tan(Number(number), Number(secNum));
document.getElementById("num").value = rst;
break;
}
}
</script>
</head>
<center>
<body>
<form>
<table>
<tr>
<input type="text" name="num" id="num" value="0"
style="text-align: right">
</tr>
<br>
<tr>
<input type="button" name="clear" value="Clear" onclick="del()"> 
<input type="button" value="=" onclick="oper()">
</tr>
<br>
<tr>
<input type="button" name="1" value="1" onclick="num_input(1)"> 
<input type="button" name="2" value="2" onclick="num_input(2)"> 
<input type="button" name="3" value="3" onclick="num_input(3)">  
<input type="button" name="add" value="+" onclick="cal('+')">  
<input type="button" name="squared" value="x^y" onclick="cal('^')">
</tr>
<br>
<tr>
<input type="button" name="4" value="4" onclick="num_input(4)"> 
<input type="button" name="5" value="5" onclick="num_input(5)"> 
<input type="button" name="6" value="6" onclick="num_input(6)">  
<input type="button" name="sub" value="-" onclick="cal('-')">  
<input type="button" name="sin" value="sin" onclick="cal('sin')">
</tr>
<br>
<tr>
<input type="button" name="7" value="7" onclick="num_input(7)"> 
<input type="button" name="8" value="8" onclick="num_input(8)"> 
<input type="button" name="9" value="9" onclick="num_input(9)">  
<input type="button" name="mul" value="*" onclick="cal('*')">  
<input type="button" name="cos" value="cos" onclick="cal('cos')">
</tr>
<br>
<tr>
<input type="button" name="0" value="0" onclick="num_input(0)"> 
<input type="button" name="add/sub" value="+/-" onclick="sign()"> 
<input type="button" name="point" value="." onclick="num_input('.')">  
<input type="button" name="div" value="/" onclick="cal('/')">  
<input type="button" name="tan" value="tan" onclick="cal('tan')">
</tr>
<br>
</table>
</form>
</body>
</center>
</html>
반응형
'JAVA > 공부' 카테고리의 다른 글
HTTP 에러 코드 (0) | 2022.09.15 |
---|---|
JS 비/정규식 유효성 검사 예제 (0) | 2022.09.13 |
절대 경로와 상대 경로 (0) | 2022.09.04 |
GET 방식과 POST 방식 (0) | 2022.09.04 |
쿠키와 세션(+캐시) (0) | 2022.09.03 |