Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/04/2007, 10:40
Bilka
 
Fecha de Ingreso: junio-2004
Ubicación: Barcelona
Mensajes: 107
Antigüedad: 20 años, 8 meses
Puntos: 2
Error en Calculadora

Hola a todos.
Soy novato en esto del JavaScript y mi primer "reto" es esta calculadora, pero, por mucho que me lo miro no se donde debe estar el error. Basicamente, mi error es que cuando hago alguna operacion, cuando le doy a "igual" me devuelve "NaN". Vamos, que no se que mas cambiar, jeje. Alguna ayudita? jeje
Gracias!!

Código HTML:
<html>
<head>
<title>CALCULADORA EN JS</title>
<script language="javascript">
var calculo = "";
var op = "";
var resu2 = "";

function intro(intr){
fcalcu.resu.value = fcalcu.resu.value + intr;
resu2 = resu2 + intr;
}

function sumar(s1)
{
calculo = eval(calculo) + eval(resu2);
fcalcu.resu.value = "";
resu2 = "";
op = "SUMA";
}

function restar(s2)
{
calculo = calculo - eval(resu2);
fcalcu.resu.value = "";
resu2 = "";
op = "RESTA";
}

function multi(s3)
{
calculo = calculo * eval(resu2);
fcalcu.resu.value = "";
resu2 = "";
op = "MULTIPLICACION";
}

function dividir(s4)
{
calculo = calculo / eval(resu2);
fcalcu.resu.value = "";
resu2 = "";
op = "DIVISION";
}

function mostrar(igu){
	switch(op)
	{
	case "SUMA":
	calculo = calculo + eval(resu2);
	resu2 = "";
	fcalcu.resu.value = calculo;
	break;
	
	case "RESTA":
	calculo = calculo - eval(resu2);
	resu2 = "";
	fcalcu.resu.value = calculo;
	break;
	
	case "MULTIPLICACION":
	calculo = calculo * eval(resu2);
	resu2 = "";
	fcalcu.resu.value = calculo;
	break;
	
	case "DIVISION":
	calculo = calculo / eval(resu2);
	resu2 = "";
	fcalcu.resu.value = calculo;
	break;
	}
}

function borra(){
fcalcu.resu.value = "";
resu2 = "";
calculo = "";
op = "";
}
</script>
</head>
<body>
<h1>Calculadora JS </h1>
<form name="fcalcu">
<input type="text" name="resu" maxlenght="10" readonly><br>
<input type="button" name="n1" value="1" onclick="intro(fcalcu.n1.value)"><input type="button" name="n2" value="2" onclick="intro(fcalcu.n2.value)"><input type="button" name="n3" value="3" onclick="intro(fcalcu.n3.value)"><br>
<input type="button" name="n4" value="4" onclick="intro(fcalcu.n4.value)"><input type="button" name="n5" value="5" onclick="intro(fcalcu.n5.value)"><input type="button" name="n6" value="6" onclick="intro(fcalcu.n6.value)"><br>
<input type="button" name="n7" value="7" onclick="intro(fcalcu.n7.value)"><input type="button" name="n8" value="8" onclick="intro(fcalcu.n8.value)"><input type="button" name="n9" value="9" onclick="intro(fcalcu.n9.value)"><br>
<input type="button" name="" value="-"><input type="button" name="n0" value="0" onclick="intro(fcalcu.n0.value)"><input type="button" name="" value="-"><br>
<input type="button" value="SUMAR" onclick="sumar(resu2)"><input type="button" value="RESTAR" onclick="restar(resu2)"><br>
<input type="button" value="MULTIPLICAR" onclick="multi(resu2)"><input type="button" value="DIVIDIR" onclick="dividir(resu2)"><br>
<input type="button" value="IGUAL" onclick="mostrar(resu2)"><input type="button" value="Borrar" onclick="borra()">
</form>
</body>
</html>