Goodiny777

Simple calculator from class lessons

Nov 19th, 2017
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!doctype html>
  2. <html>
  3.     <head>
  4.         <script>
  5.             var oldNumber=0;
  6.             var opr="";
  7.             var tempString="";
  8.             function addNumber(getNumber)
  9.             {
  10.                 if (Number(res.innerHTML)<0)
  11.                     getNumber*=-1;     
  12.                 var newNumber = Number(res.innerHTML)*10+getNumber;
  13.                 res.innerHTML=newNumber;
  14.             }  
  15.             function clearNumber()
  16.             {
  17.                 res.innerHTML="0";
  18.             }      
  19.             function invertNumber()
  20.             {
  21.                 res.innerHTML = Number(res.innerHTML)*(-1);
  22.             }
  23.             function fibonachi(x,y,z)
  24.             {  
  25.                 if (y<=z){tempString+=x+", ";fibonachi(y,x+y,z);}
  26.                 else{tempString+=x;}
  27.                 return tempString;
  28.             }      
  29.             function makeOpr(myOpr)
  30.             {
  31.                 opr = myOpr;
  32.                 oldNumber=Number(res.innerHTML);
  33.                 clearNumber();
  34.             }          
  35.             function calcSum()
  36.             {
  37.                 var secondNumber=Number(res.innerHTML);
  38.                 switch(opr)
  39.                 {
  40.                     case "+":
  41.                         res.innerHTML=oldNumber+secondNumber;
  42.                         break;
  43.                     case "-":
  44.                         res.innerHTML=oldNumber-secondNumber;
  45.                         break;
  46.                     case "*":
  47.                         res.innerHTML=oldNumber*secondNumber;
  48.                         break;
  49.                     case "/":
  50.                         res.innerHTML=oldNumber/secondNumber;
  51.                         break;
  52.                     case "x^y":
  53.                         var ans=oldNumber;
  54.                         if (secondNumber==0){ans=1;}
  55.                         else
  56.                         {
  57.                             for(var counter=1; counter<secondNumber; counter+=1)
  58.                             ans*=oldNumber;
  59.                         }
  60.                         res.innerHTML =ans;
  61.                         break;
  62.                     case"x!":
  63.                         secondNumber=1;
  64.                         for(var counter = 2; counter<=oldNumber; counter+=1)
  65.                             secondNumber*=counter;
  66.                         res.innerHTML=secondNumber;
  67.                         break;
  68.                     case "1/x":
  69.                         secondNumber=0;
  70.                         res.innerHTML = 1/ oldNumber;
  71.                         break;
  72.                     case "x^2":
  73.                         secondNumber=0;
  74.                         res.innerHTML = oldNumber* oldNumber;
  75.                         break;
  76.                     case "Fib":
  77.                         secondNumber=1;
  78.                         res.innerHTML= fibonachi(secondNumber,secondNumber,oldNumber);
  79.                         tempString="";
  80.                         break;
  81.                 }
  82.                 opr="";
  83.                 oldNumber=0;
  84.             }
  85.            
  86.         </script>
  87.     </head>
  88.     <body>
  89.         <center>
  90.             <b>My calculator<hr><br>
  91.             <div id="res">0</div>
  92.             <br><br>
  93.             <input type="button" value="Fib" style="width:30px" onclick="makeOpr('Fib')"/>
  94.             <input type="button" value="x^y" style="width:30px" onclick="makeOpr('x^y')"/>
  95.             <input type="button" value="1" style="width:30px" onclick="addNumber(1)"/>
  96.             <input type="button" value="2" style="width:30px" onclick="addNumber(2)"/>
  97.             <input type="button" value="3" style="width:30px" onclick="addNumber(3)"/>
  98.             <input type="button" value="+" style="width:30px" onclick="makeOpr('+')"/>
  99.             <br>
  100.             <input type="button" value="x!" style="width:30px" onclick="makeOpr('x!')"/>
  101.             <input type="button" value="4" style="width:30px" onclick="addNumber(4)"/>
  102.             <input type="button" value="5" style="width:30px" onclick="addNumber(5)"/>
  103.             <input type="button" value="6" style="width:30px" onclick="addNumber(6)"/>
  104.             <input type="button" value="-" style="width:30px" onclick="makeOpr('-')"/>
  105.             <br>
  106.             <input type="button" value="x^2" style="width:30px" onclick="makeOpr('x^2')"/>
  107.             <input type="button" value="7" style="width:30px" onclick="addNumber(7)"/>
  108.             <input type="button" value="8" style="width:30px" onclick="addNumber(8)"/>
  109.             <input type="button" value="9" style="width:30px" onclick="addNumber(9)"/>
  110.             <input type="button" value="*" style="width:30px" onclick="makeOpr('*')"/>
  111.             <br>
  112.             <input type="button" value="1/x" style="width:30px" onclick="makeOpr('1/x')"/>
  113.             <input type="button" value="+/-" style="width:30px" onclick="invertNumber()"/>
  114.             <input type="button" value="0" style="width:30px" onclick="addNumber(0)"/>
  115.             <input type="button" value="C" style="width:30px" onclick="clearNumber()"/>
  116.             <input type="button" value="/" style="width:30px" onclick="makeOpr('/')"/>
  117.             <br>
  118.             <input type="button" value="=" style="width:166px" onclick="calcSum()"/>
  119.            
  120.         </center>
  121.     </body>
  122. </html>
  123. </html>
Advertisement
Add Comment
Please, Sign In to add comment