4
respuestas

no encuentro mi error

ya que dice que mi error esta en la ultima lineá ya que en el video que se menciona fue realizado con un return pero yo lo hice de la siguiente forma pero solo me muestra solo un calculo y me menciona un error de que imc no es una funciónIngrese aquí la descripción de esta imagen para ayudar con la accesibilidad

4 respuestas

Hola, alexis, por lo que veo no te va a tomar la funcion imc, porque no estas retornando nada. para hacerlo sin un retrun tendrias que declarar una variable local dentro de esa funcion en este caso lo haria de esta manera:

                function imc(altura,peso,nombre){

                let imc = peso/(altura*altura)

                document.write("Tu indice de masa corporal es:" + imc + " " +nombre);
            }

Ademas estoy viendo que estas utilizando mal las funciones, En las funciones tenemos parametros y a esos parametros le damos valores dentro de esa funcion. Aqui te dejo un ejemplo como se utiliza una variable

//Asi lo haces vos...
    peso = 100;
    altura = 1.90;
    nombre = "PEDRO"
    imc(altura,peso,nombre)

//Aca utilizamos la funcion dandole valores dentro de la misma.

imc(100,1.90, "PEDRO")

Espero hayas entendido, cualquier cosa me avisas y te puedo dar una mano en discord.

Alexis,

Para solucionar tu problema solo debes cambiar uno de los IMC, lo que sucede es que has definido la funcion del mismo nombre de la operación, entonces el programa no sabe que hacer, si modificas una de las dos como por ejemplo IMC1, ya te corre...

Mira sería así:

function imc(altura, peso, nomnbre) {
    imc1 = peso / (altura * altura);
    imprimir("lalala es: " + imc + nombre);
}

Por cierto, lo mejor es que cambies el de la operación, si cambias el de la función, debes también cambiar las otras líneas:

altura = 1.84
peso = 88
nombre = "Juan"
imc(altura, peso, nombre);

altura = 1.80
peso = 180
nombre = "Pablo"
imc(altura, peso, nombre);

pero si no lo haces, entonces no es necesario, solo modifica el imc cambiándole el nombre de la operación y listo...

Espero que te haya sido de ayuda...

Saludos...

estas llamando a funcion pasandole parametros y no argumntos, debes indcqrle los valores de cada parametro, co menconan arriva debes llamar tun funtion con imc(valor de altura, valor de nombre, valor .....etc)

Saludos colega, lo primero que veo es innecesaria la function de imprimir, ya que lo que haces con esa function puedes usar directamente document.write dentro de la funcion imc, tambien declaras una variable dentro de la funcion imc con el mismo nombre de la funcion, esto es una mala practica, lo que puedes hacer es lo siguiente:

function imc (altura, peso, nombre){
    document.write("Tu indice de masa corporal es: " + (peso / (altura**2)));
    saltarlinea();
}

Tambien puedes ahorrarte el declarar la variable imc, haciendo directamente el calculo usando los parentesis, ya que por orden de prioridad el programa empieza resolviendo los parentesis mas internos hacia los mas externos, asi te ahorras muchas lineas de codigo.