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

MI CODIGO RECETARIO

Les dejo mi codigo, ojala puedan ayudarme, el sistema funciona no dejando ingresar repetidos, pero una vez ingrese un elemento repetido, el programa termina aunque no llene la totalidad de elementos declarados en el principio.

<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) {

        let encontrado = false;
        var ingrediente = prompt("Informe el ingrediente " + contador);                 


        for (let indice = 0; indice < ingredientes.length; indice++) {  


           if (ingrediente == ingredientes[indice]) {

                alert('ingrediente repetido ' + ingrediente);
                encontrado = true;
                break;
           }
        }


        if (encontrado == false) {
                ingredientes.push(ingrediente);

        }       

        contador++;

    }

    console.log(ingredientes);

</script>
1 respuesta

Hola Caleb, espero que estés bien, disculpa la demora en contestarte.

Te dejo abajo tu código con algunas alteraciones y un comentario de lo que estaba pasando antes.

<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);
        let encontrado = false;        
        for (let indice = 0; indice < ingredientes.length; indice++) { 
                if (ingrediente == ingredientes[indice]) {   
                    encontrado = true;
                    alert('ingrediente repetido ' + ingrediente);
                     break;

           }
     }


        if (encontrado == false) {
             ingredientes.push(ingrediente);
             contador++;  // tu contador no estaba dentro del bloque de código, entonces depués de encontrar el ingrediente repetido, el programa no continuaba executando

        }    

    }

    console.log(ingredientes);

</script>

Espero haberte ayudado. Un saludo!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios