JAVA/공부

자바 스크립트 계산기 만들기

GaeGim 2022. 9. 13. 14:43
반응형
<!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()">&nbsp
					<input type="button" value="=" onclick="oper()">
				</tr>
				<br>
				<tr>
					<input type="button" name="1" value="1" onclick="num_input(1)">&nbsp
					<input type="button" name="2" value="2" onclick="num_input(2)">&nbsp
					<input type="button" name="3" value="3" onclick="num_input(3)">&nbsp&nbsp
					<input type="button" name="add" value="+" onclick="cal('+')">&nbsp&nbsp
					<input type="button" name="squared" value="x^y" onclick="cal('^')">
				</tr>
				<br>
				<tr>
					<input type="button" name="4" value="4" onclick="num_input(4)">&nbsp
					<input type="button" name="5" value="5" onclick="num_input(5)">&nbsp
					<input type="button" name="6" value="6" onclick="num_input(6)">&nbsp&nbsp
					<input type="button" name="sub" value="-" onclick="cal('-')">&nbsp&nbsp
					<input type="button" name="sin" value="sin" onclick="cal('sin')">
				</tr>
				<br>
				<tr>
					<input type="button" name="7" value="7" onclick="num_input(7)">&nbsp
					<input type="button" name="8" value="8" onclick="num_input(8)">&nbsp
					<input type="button" name="9" value="9" onclick="num_input(9)">&nbsp&nbsp
					<input type="button" name="mul" value="*" onclick="cal('*')">&nbsp&nbsp
					<input type="button" name="cos" value="cos" onclick="cal('cos')">
				</tr>
				<br>
				<tr>
					<input type="button" name="0" value="0" onclick="num_input(0)">&nbsp
					<input type="button" name="add/sub" value="+/-" onclick="sign()">&nbsp
					<input type="button" name="point" value="." onclick="num_input('.')">&nbsp&nbsp
					<input type="button" name="div" value="/" onclick="cal('/')">&nbsp&nbsp
					<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