//Esta variable sirve para cambiar de entrada de dato a numero1 o numero2 //numero1: false, numero2: true. let cambiar = false; //Entradas de datos para luego ser procesados let numero1 = ""; let numero2 = ""; //En esta variable se carga el resultado y se imprime en pantalla. //Es necesario el parseFloat() para que el interprete no le reconozca a la variable //que recibe cadena. let resultado = parseFloat(0); //Esta variable se carga el tipo de operación que se va a realizar. //+: suma, -:resta, /:division, *: multiplicacion let operacionActual = ""; //Con esta variable se borra la pantalla, luego de presionar "=", para realizar //nuevo calculo let nuevoCalculo = false; //Esta funcion imprime en la pantalla de la calculadora function pantCal(cadena) { document.getElementById("pantallita").innerHTML = cadena; } //Esta funcion imprime el numero 1 en la pantalla function uno() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } if(!cambiar){ numero1 = numero1 + "1"; pantCal(numero1); }else{ numero2 = numero2 + "1"; pantCal(numero2); } } //Esta funcion imprime el numero 2 en la pantalla function dos() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } if(!cambiar){ numero1 = numero1 + "2"; pantCal(numero1); }else{ numero2 = numero2 + "2"; pantCal(numero2); } } //Esta funcion imprime el numero 3 en la pantalla function tres() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } if(!cambiar){ numero1 = numero1 + "3"; pantCal(numero1); }else{ numero2 = numero2 + "3"; pantCal(numero2); } } //Esta funcion imprime el numero 4 en la pantalla function cuatro() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } if(!cambiar){ numero1 = numero1 + "4"; pantCal(numero1); }else{ numero2 = numero2 + "4"; pantCal(numero2); } } //Esta funcion imprime el numero 5 en la pantalla function cinco() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } if(!cambiar){ numero1 = numero1 + "5"; pantCal(numero1); }else{ numero2 = numero2 + "5"; pantCal(numero2); } } //Esta funcion imprime el numero 6 en la pantalla function seis() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } if(!cambiar){ numero1 = numero1 + "6"; pantCal(numero1); }else{ numero2 = numero2 + "6"; pantCal(numero2); } } //Esta funcion imprime el numero 7 en la pantalla function siete() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } if(!cambiar){ numero1 = numero1 + "7"; pantCal(numero1); }else{ numero2 = numero2 + "7"; pantCal(numero2); } } //Esta funcion imprime el numero 8 en la pantalla function ocho() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } if(!cambiar){ numero1 = numero1 + "8"; pantCal(numero1); }else{ numero2 = numero2 + "8"; pantCal(numero2); } } //Esta funcion imprime el numero 9 en la pantalla function nueve() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } if(!cambiar){ numero1 = numero1 + "9"; pantCal(numero1); }else{ numero2 = numero2 + "9"; pantCal(numero2); } } //Esta funcion imprime el numero cero en la pantalla function cero() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } //Esto es para que no se cargue el digito cero al principio de ingresar un dato //y no ocurra error a la hora de convertir a numero flotante if(numero1 == "" && !cambiar || numero2 =="" && cambiar){ return; } if(!cambiar){ numero1 = numero1 + "0"; pantCal(numero1); }else{ numero2 = numero2 + "0"; pantCal(numero2); } } //Esta funcion imprime la coma de los decimales en la pantalla function punto() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } if(!cambiar){ numero1 = numero1 + "."; pantCal(numero1); }else{ numero2 = numero2 + "."; pantCal(numero2); } } function suma() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } //Esto es por si se nos ocurre agregar una operacion antes de ingresar un valor if(numero1 == ""){ pantCal("Error: Ingrese valor"); return; } pantCal("Suma"); if(operacionActual == ""){ resultado = parseFloat(numero1); cambiar = true; }else if(numero2 != ""){ operar(); } operacionActual = "+"; } function resta() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } //Esto es por si se nos ocurre agregar una operacion antes de ingresar un valor if(numero1 == ""){ pantCal("Error: Ingrese valor"); return; } pantCal("Resta"); if(operacionActual == ""){ resultado = parseFloat(numero1); cambiar = true; }else if(numero2 != ""){ operar(); } operacionActual = "-"; } function multiplicacion() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } //Esto es por si se nos ocurre agregar una operacion antes de ingresar un valor if(numero1 == ""){ pantCal("Error: Ingrese valor"); return; } pantCal("Multiplicación"); if(operacionActual == ""){ resultado = parseFloat(numero1); cambiar = true; }else if(numero2 != ""){ operar(); } operacionActual = "*"; } function division() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } //Esto es por si se nos ocurre agregar una operacion antes de ingresar un valor if(numero1 == ""){ pantCal("Error: Ingrese valor"); return; } pantCal("División"); if(operacionActual == ""){ resultado = parseFloat(numero1); cambiar = true; }else if(numero2 != ""){ operar(); } operacionActual = "/"; } //Aqui es donde se realiza las operaciones function operar() { if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } if(operacionActual == "+"){ resultado = parseFloat(numero1) + parseFloat(numero2); }else if(operacionActual == "-"){ resultado = parseFloat(numero1) - parseFloat(numero2); }else if(operacionActual=="*"){ resultado = parseFloat(numero1) * parseFloat(numero2); }else if(operacionActual=="/"){ resultado = parseFloat(numero1) / parseFloat(numero2); } pantCal(resultado); numero1 = resultado; numero2 = ""; } //Aqui es donde se imprime el resultado final function igual(){ if(nuevoCalculo){ pantCal("Ingrese valor"); nuevoCalculo = false; return; } //Esto es por si se nos ocurre agregar una operacion antes de ingresar un valor if(numero1 == ""){ pantCal("Error: Ingrese valor"); return; } if(operacionActual == "+"){ resultado = parseFloat(numero1) + parseFloat(numero2); }else if(operacionActual == "-"){ resultado = parseFloat(numero1) - parseFloat(numero2); }else if(operacionActual=="*"){ resultado = parseFloat(numero1) * parseFloat(numero2); }else if(operacionActual=="/"){ resultado = parseFloat(numero1) / parseFloat(numero2); } //Aqui es donde se resetea los valores pantCal("Resultado: " + resultado); numero1 = ""; numero2 = ""; resultado = parseFloat(0); cambiar = false; operacionActual = ""; nuevoCalculo = true; }