27/02/2011, 09:54
|
| | | Fecha de Ingreso: febrero-2011 Ubicación: Heredia
Mensajes: 2
Antigüedad: 13 años, 8 meses Puntos: 0 | |
Consulta ayuda por favor! Calculadora en AS3 Hola como están! Estoy pegada con un proyecto de la universidad tengo q hacer una calcu, tengo el codigo montado no me da errores pero no funciona.
Digamos, si suma, pero cuando le pido q haga *- o / dice NaN o me da por ejemplo q 3*2 es 1.5 El boton de claer no me funciona por lo q en el output se guardan los numeros y si le doy 2+2 me da 4 si le doy clear me borra los numeros en la pantalla si vuelvo a dar 2+2 esta vez me da 224. Aqui esta el cod: import flash.events.Event;
import flash.events.MouseEvent;
//variables a las que se les asigna un número :)
var num1:Number;
var num2:Number;
//El numero en la pantalla
var num2_temp:String = "";
var operacion:String = "";
//Aqui están las funciones para los botones.
this.btn_uno.addEventListener(MouseEvent.CLICK, uno);
/*Especifica que una función no puede devolver cualquier valor.*/
function uno(event:MouseEvent):void
{
/*Añade texto*/ /*proporciona informacion referente a una clase para todos los objetos que se instancien de ella*/
this.txt_resultado.appendText("1");
/*Aqui le digo q llame a la var num y la ponga en el campo de texto*/
if(this.operacion!="")
this.num2_temp += "1";
}
this.btn_dos.addEventListener(MouseEvent.CLICK, dos);
function dos(event:MouseEvent):void
{
this.txt_resultado.appendText("2");
if(this.operacion!="")
this.num2_temp += "2";
}
this.btn_tres.addEventListener(MouseEvent.CLICK, tres);
function tres(event:MouseEvent):void
{
txt_resultado.appendText("3");
if(this.operacion!="")
this.num2_temp += "3";
}
this.btn_cuatro.addEventListener(MouseEvent.CLICK, cuatro);
function cuatro(event:MouseEvent):void
{
txt_resultado.appendText("4");
if(this.operacion!="")
this.num2_temp += "4";
}
this.btn_cinco.addEventListener(MouseEvent.CLICK, cinco);
function cinco(event:MouseEvent):void
{
txt_resultado.appendText("5");
if(this.operacion!="")
this.num2_temp += "5";
}
this.btn_seis.addEventListener(MouseEvent.CLICK, seis);
function seis(event:MouseEvent):void
{
txt_resultado.appendText("6");
if(this.operacion!="")
this.num2_temp += "6";
}
this.btn_siete.addEventListener(MouseEvent.CLICK, siete);
function siete(event:MouseEvent):void
{
txt_resultado.appendText("7");
if(this.operacion!="")
this.num2_temp += "7";
}
this.btn_ocho.addEventListener(MouseEvent.CLICK, ocho);
function ocho(event:MouseEvent):void
{
txt_resultado.appendText("8");
if(this.operacion!="")
this.num2_temp += "8";
}
this.btn_nueve.addEventListener(MouseEvent.CLICK, nueve);
function nueve(event:MouseEvent):void
{
txt_resultado.appendText("9");
if(this.operacion!="")
this.num2_temp += "9";
}
this.btn_cero.addEventListener(MouseEvent.CLICK, cero);
function cero(event:MouseEvent):void
{
txt_resultado.appendText("0");
if(this.operacion!="")
this.num2_temp += "0";
}
//funciones botones +-*/=
this.btn_suma.addEventListener(MouseEvent.CLICK, sumar);
function sumar(e:Event)
{
//Secreto #1: Al presionar el mas tomamos el valor de num1 del campo de texto
this.num1 = Number(this.txt_resultado.text);
this.operacion = "+"
this.txt_resultado.appendText("+");
}
this.btn_resta.addEventListener(MouseEvent.CLICK, restar);
function restar(e:Event)
{
this.num1 = Number(this.txt_resultado.text);
this.operacion = "-"
this.txt_resultado.appendText("-");
}
this.btn_multi.addEventListener(MouseEvent.CLICK, multiplicar);
function multiplicar(e:Event)
{
this.num1 = Number(this.txt_resultado.text);
this.operacion = "*"
this.txt_resultado.appendText("x");
}
this.btn_div.addEventListener(MouseEvent.CLICK, dividir);
function dividir(e:Event)
{
this.num1 = Number(this.txt_resultado.text);
this.operacion = "/"
this.txt_resultado.appendText("÷");
}
this.btn_raiz.addEventListener(MouseEvent.CLICK, raiz);
function raiz(e:Event)
{
this.num1 = Number(this.txt_resultado.text);
this. operacion = "Math.sqrt"
this.txt_resultado.appendText("√")
}
this.btn_elevar.addEventListener(MouseEvent.CLICK, elevar);
function elevar(e:Event)
{
this.num1 = Number(this.txt_resultado.text);
this. operacion = "Math.pow"
this.txt_resultado.appendText("^")
}
this.btn_borrar.addEventListener(MouseEvent.CLICK, borrar);
function borrar(e:Event)
{
this.num1 = 0;
this.txt_resultado.text = "";
}
/*RESULTADO*/
this.btn_igual.addEventListener(MouseEvent.CLICK, resultado);
function resultado (e:Event)
{
//Secreto #2: Al presionar el = tomamos el valor de num2 de la variable num2_temp
this.num2 = Number(this.num2_temp);
trace(this.num1);
trace(this.num2);
var resultado:Number;
//hacer operacion
if(this.operacion=="+")
{
// Mi idea es que ese valor guardado que se tomó del cuadro de texto se sume con el siguiente
resultado = this.num1 + this.num2;
}
else if (this.op=="-")
{
resultado = this.num1 - this.num2;
}
else if (this.op=="*")
{
resultado = this.num1 * this.num2;
}
else if (this.op=="/")
{
resultado = this.num1 / this.num2;
}
/*else if (this.op=="Math.sqrt")
{
resultado = Math.sqrt(this.num2);
}
else if (this.op=="Math.pow")
{
resultado = Math.pow(x:this.num1 y:this.num2);
}*/
//ponemos el = y el resultado
this.txt_resultado.appendText(" = "+String(resultado));
} Porfavor si alguien me ayudara porq por mas vueltas q le doy no encuentro el problema.
Gracias!
ATT: La desesperada. |