Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] Ejercicio edades

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>promEdad</title>
</head>

<body>
    <h1 style="text-align: center;">Media familia</h1>

    <script>
        function imprimir(textoIngresado) {
            document.write(textoIngresado);
        }
        let numeroDefamiliares = parseInt(prompt('ingresa el no# de familiares'));
        let contador = 1;
        let totalEdades = 0;

        while (contador <= numeroDefamiliares) {
            let totalEdad = 0;
            let edad = parseInt(prompt('ingresa la edad del familiar'));
            imprimir('edad del familiar ' + contador + ' ' + edad + '<br>');
            totalEdades = totalEdades + edad;
            contador++;
        }

        imprimir('promedio de edad en la familia '+totalEdades/numeroDefamiliares + '<br>');
        imprimir('fin');


    </script>
</body>

</html>
1 respuesta

¡Hola Benjamín!

He revisado tu código y parece que estás tratando de calcular el promedio de las edades de una familia. Sin embargo, noté que en el bucle while estás creando una variable llamada "totalEdad" que no estás utilizando en ningún momento. En su lugar, deberías sumar la edad ingresada por el usuario a la variable "totalEdades" que sí estás utilizando para calcular el promedio.

Por otro lado, te sugiero que valides que el usuario ingrese un número válido para el número de familiares. Podrías hacerlo utilizando la función isNaN() para verificar si el valor ingresado no es un número.

Te propongo una posible solución a tu ejercicio:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>promEdad</title>
</head>

<body>
    <h1 style="text-align: center;">Media familia</h1>

    <script>
        function imprimir(textoIngresado) {
            document.write(textoIngresado);
        }
        let numeroDefamiliares;
        do {
            numeroDefamiliares = parseInt(prompt('Ingresa el número de familiares'));
        } while (isNaN(numeroDefamiliares));

        let contador = 1;
        let totalEdades = 0;

        while (contador <= numeroDefamiliares) {
            let edad;
            do {
                edad = parseInt(prompt('Ingresa la edad del familiar ' + contador));
            } while (isNaN(edad));
            imprimir('Edad del familiar ' + contador + ': ' + edad + '<br>');
            totalEdades += edad;
            contador++;
        }

        imprimir('Promedio de edad en la familia: ' + totalEdades/numeroDefamiliares + '<br>');
        imprimir('Fin');

    </script>
</body>

</html>

Espero que esta solución te sea de ayuda. ¡Buenos estudios!