U E D R , A S I H C RSS

JavaScript/2011년스터디/서지혜 (rev. 1.1)

Java Script/2011년스터디/서지혜

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=ks_c_5601-1987">
<title>새 페이지 1</title>
</head>

<body>
<style>
 .btn{width:40}
 .btn2{width:88}
</style>
<script>


 flag=0;//연산식이 입력되는 횟수플래그
 str=0;//입력수치
 opr="";//연산자

 old=new Array();

 //초기화
 function init(){
  document.f.t.value=""; //입력필드 소거
  str=0;flag=0;opr=""; //입력수치, 횟수플래그, 연산자
 }

 //숫자를 입력받아 추가한다
 function putn(v){ 
  if(flag==0){ //연산식이 입력되기 전에는
   document.f.t.value+=v; //텍스트 필드를 추가한다.
  }else {
   if(flag==1){ //연산식이 처음 입력되면,
    document.f.t.value=v; //입력필드를 갱신
   } else {
    document.f.t.value+=v; //텍스트 필드를 추가한다.
   }
   flag++; //플래그 증가
  }
 }

 //연산식이 입력되면, 기존 스트링과, 연산자를 변수에 담고, 플래그를 증가한다.
 function cal(h){
  old[old.length]=str;
  str=document.f.t.value;
  odr=opr;
  opr=h;
  flag=1;
  if(h=='%'){
   document.f.t.value=eval(old[old.length-1]*str/100);   
  } else {
   if(odr=='%'){
    document.f.t.value=eval(old[old.length-2]+opr+str);
   }
  }
 }

 function cal2(h){ //제곱,제곱근,로그등의 특수연산을 담당하는 함수
  str=document.f.t.value;
  switch(h){
   case "pow":
    document.f.t.value=eval("Math."+h+"(str,2)");
    break;
   case "sqrt":
    document.f.t.value=eval("Math."+h+"(str,2)");
    break;
   case "log":
    document.f.t.value=eval("Math."+h+"(str)");
    break;
   }
 }

 //= 이 입력되면,
 function sol(){
  //텍스트 필드에, 기존입력수치와 신규입력값의 연산결과를 출력한다.
  document.f.t.value=eval(str+opr+document.f.t.value);
 }

 //Clear등의 처리
 function adj(a){
  switch(a){ //매개변수에 따라 처리
   case 0: //clear이면,
    init(); //초기화
    break;
  }
 }
</script>
<body onload=init();>
<table border=6 width="247"><tr>
<form name=f>
<td colspan=5>
 <input type=text name=t value="" size=30>
</td></tr>
<tr><td width="40">
 <input type=button onclick=putn(7) value=7 class=btn></td><td width="40">
 <input type=button onclick=putn(8) value=8 class=btn></td><td width="41">
 <input type=button onclick=putn(9) value=9 class=btn></td><td width="40">
 <input type=button onclick=cal("/") value="/" class=btn></td><td width="40">
 <input type=button onclick=cal2("pow") value="pow" class=btn></td></tr>
<tr><Td width="40" height="25">
 <input type=button onclick=putn(4) value=4 class=btn></td>
 <td width="40" height="25">
 <input type=button onclick=putn(5) value=5 class=btn></td>
 <td width="41" height="25">
 <input type=button onclick=putn(6) value=6 class=btn></td>
 <td width="40" height="25">
 <input type=button onclick=cal("*") value="*" class=btn></td>
 <td width="40" height="25">
 <input type=button onclick=cal2("sqrt") value="sqrt" class=btn></td></tr>
<tr><td width="40">
 <input type=button onclick=putn(1) value=1 class=btn></td><td width="40">
 <input type=button onclick=putn(2) value=2 class=btn></td><td width="41">
 <input type=button onclick=putn(3) value=3 class=btn></td><td width="40">
 <input type=button onclick=cal("-") value="-" class=btn></td><td width="40">
 <input type=button onclick=cal2("log") value="log" class=btn></td></tr>
<tr><td width="40">
 <input type=button onclick=putn(0) value=0 class=btn></td><td width="40">
 <input type=button onclick=putn('.') value=. class=btn></td><td width="41">
 <input type=button onclick=cal("+") value="+" class=btn></td><td width="40">
 <input type=button onclick=cal("%") value="%" class=btn></td>
  </td></tr>

<tr>
<td colspan=2>
 <input type=button onclick=adj(0) value="지우기" class=btn2></td><td colspan=3>
 <input type=button onclick=sol() value="계산하기" class=btn2></td>

</form>
</table>

</body>

</html>
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:30
Processing time 0.0209 sec