Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Não entendi porque não aparece o array com os elementos e nem a contagem dos ingredientes

<meta charset="UTF-8">

<h1>Receitas do Yan</h1>

<script>
    var ingredientes = [];

    var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));

    var contador = 1;

    while (contador <= quantidade) {

           var ingrediente = prompt("Informe o ingrediente " + contador);

          var existe = false;


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

               if (ingredientes[posicao] == ingrediente) {

                   alert("Ingrediente repetido! Tente outro.");
                   existe = true;
                   break;
               }

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

        //contador++;
    }

    console.log(ingredientes);
</script>
5 respostas

Oi leandro, tudo bom?

Não sei se entendi muito bem sua pergunta. Onde você quer que apareças os ingredientes e a contagem deles?

Esse programa não era para aceitar repetir ingrediente, mas não acontece isso, entendeu? Quando coloco o contador no if como informado, porém o programa entrar em loop.

solução!

Oi Leandro tudo bem?

Você tinha colocado o if do existe==false dentro do loop for, tinha que ter posto ele fora. Segue código:



<meta charset="UTF-8">

<h1>Receitas do Yan</h1>

<script>
    var ingredientes = [];

    var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));

    var contador = 1;

    while (contador <= quantidade) {

           var ingrediente = prompt("Informe o ingrediente " + contador);

          var existe = false;


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

               if (ingredientes[posicao] == ingrediente) {

                   alert("Ingrediente repetido! Tente outro.");
                   existe = true;
                   break;
               }


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

    console.log(ingredientes);
</script>

Espero ter ajudado!!!

Certinho! Obrigado!

Dinada e bons estudos!!!