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

Ingredientes,

Me entusiame mucho por hacer este codigo, recibo sugerencia por favor.

<meta charset="UTF-8">
<h1>Recetas Andres</h1>

<script>

    var ingredientes = [];
    var contador = 1;

    var fin = true;
    while (fin){
        var cantidad = parseInt(prompt("¿Cuántos ingredientes vas a añadir?"));
        //Con esto comprobamos si lo ingresado por el usuario es un numero.
        if (isNaN(cantidad)){       //Si no es un numero ponemos una alerta y volveremos a pedir la entrada
            alert("Debes ingresar un número!!!")
        } else {         //De ser numero finalizamos el while.
            fin = false;
        }
    }

    while( contador <= cantidad) {
        var ingrediente = prompt("Informe el ingrediente " + contador);
        var esta = false;

        for (var i = 0; i < ingredientes.length; i++) {

            if (ingrediente == ingredientes[i]){
                esta = true;
                break;
            }
        }

        if(esta == false){          //Si el ingrediente no se encuentra lo enlistamos en el arreglo.
            ingredientes.push(ingrediente);
            contador++;
        } else {            //Si se encuentra el ingrediente lanzamos una alerta y lo volveremos a pedir.
            alert("Lo sentimos el ingrediente ya se encuentra enlistado!")
        }

    }

    //Imprimimos los ingredientes.
    console.log(ingredientes);

</script>
1 respuesta

Hola Jose, gracias por compartir. Creo que el "alert" también se podría poner entre el "esta = true" y el "break", como para que ya ni bien detecte el ingrediente repetido, lo informe al usuario.

De igual forma te comparto mi código, muy parecido al tuyo salvo con esa diferencia y el mío no tiene el validador del número en la cantidad de ingredientes.

<meta charset="UTF-8">

<h1>Recetas de Armando</h1>

<script>

    var ingredientes = [];
    var cantidad = parseInt(prompt("¿Cuántos ingredientes vas a añadir?"));
    var contador = 1;

    while( contador <= cantidad) {
        var ingrediente = prompt("Informe el ingrediente " + contador);
        var ingredienteExiste = false;

        for (var posicion = 0; posicion < ingredientes.length; posicion++){

            if(ingrediente == ingredientes[posicion]) {
                ingredienteExiste = true;
                alert("ingrediente repetido: " + ingrediente);
                break;
            }

        }

        if (ingredienteExiste == false) {
            ingredientes.push(ingrediente);
            contador++;
        }

    }

    console.log(ingredientes);

</script>