Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

Asignar funcion a variable dentro de otra funcion (calculo de IMC)

Estimados,

Tengo una duda con mi codigo. Ocurre que me da error en la ultima linea:

imprimir("El IMC calculado para: " + nombre + " es de: " + IMC=CalcularIMC(peso,altura) + ".");

Entiendo que esto se debe a que estoy asignando la funcion a una variable dentro de la funcion imprimir() y que eso no esta permitido.

La unica alternativa que tengo es pondiendo la funcion sola?:

imprimir("El IMC calculado para: " + nombre + " es de: " + CalcularIMC(peso,altura) + ".");

Adjunto mi codigo completo:

<meta charset="utf-8">

<h3>Calculo de IMC</h3>


<script>

    function SaltarLinea()
    {
    document.write("<br>");
    document.write("<br>");
    }


    function imprimir(frase)
    {
        document.write(frase);
        SaltarLinea();
    }

    function CalcularIMC(peso,altura)
    {

        IMCvalor = Math.round(peso/(altura*altura));
        return IMCvalor;
    }

    var nombre = prompt("Ingresa tu nombre");
    var peso = prompt(nombre + " ingresa tu peso.");
    var altura = prompt(nombre + " Ingresa tu altura");
    var IMC;

    imprimir("El IMC calculado para: " + nombre + " es de: " + IMC=CalcularIMC(peso,altura) + ".");


</script>

Agradezco su ayuda. Gracias

Diego

3 respuestas
solución!

Hola Diego,

Tus alternativas son:

1.- Asignarle el valor resultante de la función CalcularIMC a la variable IMC una línea antes y luego llamar a la variable, así:

    var nombre = prompt("Ingresa tu nombre");
    var peso = prompt(nombre + " ingresa tu peso.");
    var altura = prompt(nombre + " Ingresa tu altura");
    var IMC = CalcularIMC(peso,altura);

    imprimir("El IMC calculado para: " + nombre + " es de: " + IMC + ".");

2.- Directamente llamar a la función sin asignar ninguna variable:

    var nombre = prompt("Ingresa tu nombre");
    var peso = prompt(nombre + " ingresa tu peso.");
    var altura = prompt(nombre + " Ingresa tu altura");

    imprimir("El IMC calculado para: " + nombre + " es de: " + CalcularIMC(peso,altura); + ".");

Saludos!

Gracias por tu ayuda, saludos.

te falta asignar la salida de la función calcularIMC a la variable IMC tal que así: var IMC = CalcularIMC(peso,altura); y luego llamar la función IMC el la linea imprimir