JavaScript Örnekleri – Fonksiyonel Hesap Makinesi

Daha önce javascript ile basit bir hesap makinesi yapmıştık burada şimdi ise javascript ile fonksiyonel bir hesap makinesi yapıyoruz ekran görüntüsü ve kodlarımız aşağıda
jshesap

<body>
<center>
<fieldset >
<legend  align=center>Bilisimogretmeni.com Hesap Makinesi</legend>
<style>
input {
width: 100%;
font-size: medium;
}
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: x-small;
margin: 0px;
padding: 0px;
}
h1 {
font-size: medium;
font-weight: bold;
}
td {
text-align: center;
vertical-align: middle;
}
.table {
margin: 1px;
border: thick solid #00000;
}
</style>
<script language="JavaScript">
// Denis Makarov , info@binarythings.com
// http://www.bilisimogretmeni.com/
var Result=0, Operator=0, Second=0, Ready=0, Done=1, Complete=0, Integer, CurrentValue;
function reset(value)
{
document.calculator.LED.value = value;
Result = 0, Operator = 0, Second = 0, Ready = 0; Done = 1; Complete = 0;
}
function SetValue(NewValue)
{
Integer = 1;
if(Second || Done)
{
Second = 0;
Done = 0;
CurrentValue = NewValue;
}
for(var i=0; i<CurrentValue.length; i++)
if (CurrentValue[i]=='.')
Integer=0;
}
function Click(Caption)
{
CurrentValue = document.calculator.LED.value;
if(Caption=='.')
{
SetValue('0');
if(Integer)
{
CurrentValue += Caption;
document.calculator.LED.value = CurrentValue;
Complete = 0;
}
}
if (Caption.length == 1 && Caption>='0' && Caption<='9')
{
SetValue('');
if(CurrentValue=='0')
CurrentValue='';
CurrentValue += Caption;
document.calculator.LED.value = CurrentValue;
Complete = 1;
}
if (Caption=='pi')
{
CurrentValue = Math.PI;
document.calculator.LED.value = CurrentValue;
Complete = 1;
}
if (Caption=='e')
{
CurrentValue = Math.E;
document.calculator.LED.value = CurrentValue;
Complete = 1;
}
if(Caption=='-' || Caption=='+' || Caption=='/' || Caption=='*' || Caption=='^')
{
if(Second)
Operator = Caption
else
{
if(!Ready)
{
Operator = Caption;
Result = CurrentValue;
Ready=1;
} else
{
if (Operator=='^')
Result = Math.pow(Result, CurrentValue);
else
Result = eval(Result + Operator + CurrentValue);
Operator = Caption; document.calculator.LED.value = Result;
} Complete=0; Second = 1;
}
}
if(Caption=='1/x' )
{
Result = eval('1/' + CurrentValue) ; reset(Result);
}
if(Caption=='sqrt')
{
Result = Math.sqrt(CurrentValue);
reset(Result);
}
if(Caption=='exp' )
{
Result = Math.exp(CurrentValue);
reset(Result);
}
if(Caption=='log' )
{
Result = Math.log(CurrentValue) / Math.LN10;
reset(Result);
}
if(Caption=='ln' )
{
Result = Math.log(CurrentValue);
reset(Result);
}
if(Caption=='sin' )
{
Result = CurrentValue;
if (document.calculator.angle[0].checked)
Result = Result * Math.PI / 180;
if (document.calculator.angle[2].checked)
Result = Result * Math.PI / 200;
Result = Math.sin(Result);
reset(Result);
}
if(Caption=='cos' )
{
Result = CurrentValue;
if (document.calculator.angle[0].checked)
Result = Result * Math.PI / 180;
if (document.calculator.angle[2].checked)
Result = Result * Math.PI / 200;
Result = Math.cos(Result);
reset(Result);
}
if(Caption=='tan' )
{
Result = CurrentValue;
if (document.calculator.angle[0].checked)
Result = Result * Math.PI / 180;
if (document.calculator.angle[2].checked)
Result = Result * Math.PI / 200;
Result = Math.tan(Result);
reset(Result);
}
if(Caption=='asin' )
{
Result = Math.asin(CurrentValue);
if (document.calculator.angle[0].checked)
Result = Result * 180 / Math.PI;
if (document.calculator.angle[2].checked)
Result = Result * 200 / Math.PI;
reset(Result);
}
if(Caption=='acos' )
{
Result = Math.acos(CurrentValue);
if (document.calculator.angle[0].checked)
Result = Result * 180 / Math.PI;
if (document.calculator.angle[2].checked)
Result = Result * 200 / Math.PI;
reset(Result);
}
if(Caption=='atan' )
{
Result = Math.atan(CurrentValue);
if (document.calculator.angle[0].checked)
Result = Result * 180 / Math.PI;
if (document.calculator.angle[2].checked)
Result = Result * 200 / Math.PI;
reset(Result);
}
if(Caption=='sinh' )
{
Result = Math.exp(CurrentValue);
Result = (Result - 1 / Result) / 2;
reset(Result);
}
if(Caption=='cosh' )
{
Result = Math.exp(CurrentValue);
Result = (Result + 1 / Result) / 2;
reset(Result);
}
if(Caption=='tanh' )
{
Result = Math.exp(CurrentValue);
Result = (Result - 1 / Result) / (Result + 1 / Result);
reset(Result);
}
if(Caption=='asinh' )
{
// http://www.bilisimogretmeni.com/
Result = CurrentValue / Math.abs(CurrentValue) * Math.log(Math.abs(CurrentValue) + Math.sqrt(CurrentValue * CurrentValue + 1));
reset(Result);
}
if(Caption=='acosh' )
{
Result = 2 * Math.log(Math.sqrt((CurrentValue + 1) / 2) + Math.sqrt((CurrentValue - 1) / 2));
reset(Result);
}
if(Caption=='atanh' )
{
Result = Math.log((CurrentValue - 1) / (CurrentValue + 1)) / 2;
reset(Result);
}
if(Caption=='+/-')
document.calculator.LED.value = eval(-CurrentValue);
if(Caption=='=' && Complete && Operator!='0')
{
if (Operator=='^')
{
Result = Math.pow(Result, CurrentValue);
reset(Result);
} else
reset(eval(Result + Operator + CurrentValue));
}
if (Caption=='C')
reset(0);
if(document.calculator.LED.value[0] == '.')
document.calculator.LED.value = '0' + document.calculator.LED.value;
// http://www.bilisimogretmeni.com/
}
</script>
<form name="calculator">
<table class=table width="360" height="240" border="0" align="center" cellpadding="2" cellspacing="0">
<tbody><tr> 
<td colspan="4"> <input name="LED" type="text" value="0" size="20"> </td>
<td><input type="button" name="C" value="C" onclick="Click('C')"></td>
<td width="60"><input name="=" type="button" id="=2" value="=" onclick="Click('=')">
</td>
</tr>
<tr> 
<td colspan="2"> <input name="angle" type="radio" checked="checked">
Derece</td>
<td colspan="2"> <input name="angle" type="radio">
Radyan</td>
<td colspan="2"> <input name="angle" type="radio">
Gradients</td>
</tr>
<tr> 
<td width="60"> <input name="sin" type="button" id="sin" value="sin" onclick="Click('sin')"></td>
<td width="60"> <input name="cos" type="button" id="cos" value="cos" onclick="Click('cos')"></td>
<td width="60"> <input name="tab" type="button" id="tab" value="tan" onclick="Click('tan')"></td>
<td width="60"> <input name="sinh" type="button" id="sinh" value="sinh" onclick="Click('sinh')"></td>
<td width="60"> <input name="cosh" type="button" id="cosh" value="cosh" onclick="Click('cosh')"></td>
<td width="60"> <input name="tanh" type="button" id="tanh" value="tanh" onclick="Click('tanh')"></td>
</tr>
<tr> 
<td width="60"> <input name="asin" type="button" id="asin" value="asin" onclick="Click('asin')"></td>
<td width="60"> <input name="acos" type="button" id="acos" value="acos" onclick="Click('acos')"></td>
<td width="60"> <input name="atan" type="button" id="atan" value="atan" onclick="Click('atan')"></td>
<td width="60"> <input name="asinh" type="button" id="asinh" value="asinh" onclick="Click('asinh')"> 
</td>
<td width="60"> <input name="acosh" type="button" id="acosh" value="acosh" onclick="Click('acosh')"> 
</td>
<td width="60"> <input name="atanh" type="button" id="atanh" value="atanh" onclick="Click('atanh')"></td>
</tr>
<tr> 
<td width="60"><input name="exp" type="button" id="exp" value="exp" onclick="Click('exp')"> 
</td>
<td width="60"><input name="7" type="button" id="7" value="7" onclick="Click('7')"> 
</td>
<td width="60"><input name="8" type="button" id="8" value="8" onclick="Click('8')"> 
</td>
<td width="60"><input name="9" type="button" id="9" value="9" onclick="Click('9')"> 
</td>
<td width="60"><input name="+" type="button" id="+" value="+" onclick="Click('+')"> 
</td>
<td width="60"><input name="^" type="button" id="^" value="^" onclick="Click('^')">
</td>
</tr>
<tr> 
<td width="60"><input name="log" type="button" id="log" value="log" onclick="Click('log')"> 
</td>
<td width="60"><input name="4" type="button" id="4" value="4" onclick="Click('4')"> 
</td>
<td width="60"><input name="5" type="button" id="5" value="5" onclick="Click('5')"> 
</td>
<td width="60"><input name="6" type="button" id="6" value="6" onclick="Click('6')"></td>
<td width="60"><input name="-" type="button" id="-" value="-" onclick="Click('-')"> 
</td>
<td width="60"><input name="1/x" type="button" id="1/x2" value="1/x" onclick="Click('1/x')">
</td>
</tr>
<tr> 
<td width="60"><input name="ln" type="button" id="abs22" value="ln" onclick="Click('ln')"> 
</td>
<td width="60"><input name="1" type="button" id="1" value="1" onclick="Click('1')"> 
</td>
<td width="60"><input name="2" type="button" id="2" value="2" onclick="Click('2')"> 
</td>
<td width="60"><input name="3" type="button" id="3" value="3" onclick="Click('3')"> 
</td>
<td width="60"><input name="*" type="button" id="*" value="*" onclick="Click('*')"> 
</td>
<td width="60"><input name="pi" type="button" id="pi3" value="pi" onclick="Click('pi')">
</td>
</tr>
<tr> 
<td width="60"><input name="sqrt" type="button" id="sqrt" value="sqrt" onclick="Click('sqrt')"> 
</td>
<td width="60"><input name="0" type="button" id="0" value="0" onclick="Click('0')"> 
</td>
<td width="60"><input name="." type="button" id="." value="." onclick="Click('.')"> 
</td>
<td width="60"><input name="+/-" type="button" id="+/-2" value="+/-" onclick="Click('+/-')"> 
</td>
<td width="60"><input name="/" type="button" id="/" value="/" onclick="Click('/')"> 
</td>
<td width="60"><input name="e" type="button" id="pi4" value="e" onclick="Click('e')">
</td>
</tr>
</tbody></table>
</form>
</fieldset>
</center>
</body>

Pin It on Pinterest