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

[Duda] Tengo problemas con funciones y variables

Lo que intente hace aquí es sustituir las líneas largas de código por variables y funciones para que fuese más entendible y más fácil de editar, pero al parecer tengo problemas con lo fundamental de los conceptos porque no logro hacerlo funcionar y es recurrente este problema. En los otros ejercicios si los pude solucionar.

<meta charset = "UTF-8">

<h1>
    Promedio de edad en una familia
</h1>
<br>

<script>

    function show(text) {
        document.write(text);
        br();
    }

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

    function number(box) {
        return (parseInt (prompt(box)));
    }

    let miembros = number ('Cuantos miembros tiene su familia?');

    let edad = number ('Cuales son las edades de su familia?');

    let total = (total + edad);

    let prom = (total / miembros );

        cont = 1
        total = 0


// Ejecutando el calculo con el loop while

    while (cont <= miembros) {
        edad;
        total;
        cont++;        
    }

    show(prom);

</script>
1 respuesta

Hola Alexander Desde mi punto de vista debes de modificar varias lineas del código, voy a enumerarlas de acuerdo a mi punto de vista:

1 La linea let miembros = number ('Cuantos miembros tiene su familia?'); la modificaria de la siguiente manera para que capture la cantidad de familiares let miembros = parseInt(prompt('Ingrese la cantidad de familiares a promediar'));, la función parseInt() se utiliza para indicarle al sistema que el valor digitado por el usuario es un numero.

2 la linea let edad = number ('Cuales son las edades de su familia?'); no va en ese lugar va dentro del ciclo while y debe de tener una estructura similar a la que describo en el item 1.

3 la linea let total = (total + edad); no va en ese lugar va dentro del ciclo while.

4 la linea let prom = (total / miembros ); esta operación la realizaria despues de ejecutado el ciclo while.

5 la linea cont = 1 te recomiendo declararla como let cont = 1, en javascript se puede declarar como la escribes pero por buenas practicas seria recomendable utilizar el let al inicio .

6 la linea total = 0, le estas asignando un valor 0 y debes de tener presente que en la linea 3 ya le asignas un valor el cual borras cuando le asignas 0.

7 las variables (edad, total), que tienes dentro del ciclo while no realizan ningún proceso, solo la de cont se incrementa.

8 puedo sugerirte realizar los siguientes cambios para que el código se ejecute y genere los resultados esperados:

let miembros = parseInt(prompt('Cuantos miembros tiene su familia?'));
let total = 0;
let cont = 1;
let prom = 0;

while(cont <= miembros) {

    let edad = parseInt(prompt('Ingrese la edad de la persona  '+cont));
    total = total+ edad;
    cont ++;
 }

prom = total / miembros;
show('El promedio de las edades es:  '+prom);

Si tienes alguna duda adicional me indicas, espero haberme echo entender