//variable para agregar texto a la pantalla de la calculadora var cadena = document.getElementById("resultado"); var botones = document.getElementsByClassName("boton"); //cargamos los eventos for (let i = 0; i < botones.length; i++) { // botones[i].addEventListener("click", imprimirPantalla); botones[i].onclick = imprimirPantalla; } function imprimirPantalla() { if (this.value != "Calcular" && this.value != "AC") { //mientras no se precione el boton de calcular entonces concatenamos cadena.innerHTML += this.value; } else if (this.value == "Calcular") { var pantalla = cadena.innerHTML; var i = 0; //buscamos la operacion a realizar while (true) { if (pantalla[i] == '-' || pantalla[i] == '+' || pantalla[i] == '/' || pantalla[i] == '*') { break; } i++; } //extraemos los numeros como cadenas var primerNumero = pantalla.substring(0, i); var segundoNumero = pantalla.substring(i + 1); //guardamos el numero a comparar var key = pantalla.charAt(i); var resultado = 0; switch (key) { case '+': resultado = parseFloat(primerNumero) + parseFloat(segundoNumero); break; case '-': resultado = parseFloat(primerNumero) - parseFloat(segundoNumero); break case '*': resultado = parseFloat(primerNumero) * parseFloat(segundoNumero); break case '/': resultado = parseFloat(primerNumero) / parseFloat(segundoNumero); break default: break; } cadena.innerHTML = resultado; } else { cadena.innerHTML = ""; } }