4
respostas

o codigo esta com um problema ele nao sai do loop encontra uma repeticao de ingredientes, uma luz por favor

<meta charset="UTF-8">

<h1>Receitas do Yan</h1>

<script>

    var ingredientes = [];

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

    var contador = 1;

    var achou = false;

    while( contador <= quantidade) {

        var ingrediente = prompt("Informe o ingrediente " + contador);
        var item = ingrediente;
        for(var i = 0; i < quantidade; i++){
          if(ingredientes[i] == item){
            achou = true;
            ingredientes = prompt("digite outro ingrediente");
          break;
          }
        }
        if(achou == false){
        ingredientes.push(ingrediente);

        contador++;
      }

  }
    document.write(ingredientes);


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

Fernando, fiz um teste e funcionou. Quais parâmetros você utilizou no teste para achar o erro?

PS: Faltam algumas validações, mas como é um curso inicial vc não precisa se preocupar com isso.

Se descobrir a solução, compartilhe com a gente

Jonathan, na solução que você escolheu ao digitar um ingrediente repetido ele contabiliza como um dos ingredientes. Com isso, o usuário não poderá colocar outro no lugar. Ou seja, ele perde a oportunidade de colocar outro ingrediente no lugar. É errado? Não. A solução que o Fernando propôs faz com que o usuário substitua o ingrediente e só saia quando um ingrediente diferente for inserido. Por isso eu a considerei correta, e vendo o enunciado e a resolução problema mantenho a minha resposta. Engraçado que saímos da questão de código e entramos na questão de negócio, e ambos estão corretos. Mas tem requisitos diferentes!!!

Isso mesmo Ronald, logo depois de postar minha resposta percebi o erro mas não consegui apagar.