1
respuesta

Interactuando con el usuario

<meta charset="utf-8">

<h1>Programa Calculo de IMC</h1>

<script>
    function saltarlinea () {

        document.write("<br>");
        document.write("<br>");
        document.write("<br>");
    }

    function imprimir(frase) {

        document.write(frase);
        saltarlinea();
    }

    function calcularIMC(peso,altura) {

        return (peso / (altura * altura));

    }

    nombre = prompt("informe su nombre");

    pesoInformado = prompt(nombre + " informe su peso");

    alturaInformada = prompt(nombre + " informe su altura");

    imcCalculado = calcularIMC(pesoInformado,alturaInformada);


    imprimir(nombre + " su IMC calcualdo es: " + imcCalculado)




</script>
1 respuesta

¡Hola Micaela!

En tu código estás utilizando la función prompt() para pedir al usuario que ingrese su nombre, peso y altura. Sin embargo, esta función no es la mejor opción para interactuar con el usuario, ya que no permite validar la información ingresada ni proporcionar una experiencia de usuario amigable.

Te sugiero que utilices formularios HTML para obtener la información del usuario. De esta manera, podrás validar los datos ingresados y proporcionar una experiencia de usuario más agradable. Aquí te dejo un ejemplo de cómo podrías modificar tu código:

<meta charset="utf-8">

<h1>Programa Calculo de IMC</h1>

<form>
  <label for="nombre">Nombre:</label>
  <input type="text" id="nombre" name="nombre"><br><br>
  
  <label for="peso">Peso:</label>
  <input type="number" id="peso" name="peso"><br><br>
  
  <label for="altura">Altura:</label>
  <input type="number" id="altura" name="altura"><br><br>
  
  <button type="button" onclick="calcularIMC()">Calcular IMC</button>
</form>

<div id="resultado"></div>

<script>
  function calcularIMC() {
    var nombre = document.getElementById("nombre").value;
    var peso = document.getElementById("peso").value;
    var altura = document.getElementById("altura").value;
    
    // Validar que se hayan ingresado valores numéricos
    if (isNaN(peso) || isNaN(altura)) {
      document.getElementById("resultado").innerHTML = "Por favor ingrese valores numéricos para peso y altura";
      return;
    }
    
    var imc = peso / (altura * altura);
    
    document.getElementById("resultado").innerHTML = nombre + ", tu IMC calculado es: " + imc.toFixed(2);
  }
</script>

En este ejemplo, he utilizado un formulario HTML con campos para el nombre, peso y altura. Luego, he agregado un botón para calcular el IMC, que llama a la función calcularIMC() al hacer clic.

Dentro de la función calcularIMC(), he obtenido los valores ingresados por el usuario utilizando document.getElementById(). Luego, he validado que los valores ingresados sean numéricos utilizando isNaN(), y he calculado el IMC utilizando la fórmula que ya tenías en tu código.

Finalmente, he agregado el resultado del cálculo al elemento HTML con el id "resultado", utilizando document.getElementById().innerHTML.

Espero que esto te sea útil. ¡Buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios! :)