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

O programa só pergunta uma vez

minha solução não funcionou pois mesmo optando por mais ingredientes (3 por exemplo) o programa só pergunta uma vez e tambem nao apresenta resultado algum após a pergunta.

<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 achou = false;

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

            if (ingredientes[posicao] == quantidade) {
                achou = true;
                break;
            }
        }

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

    console.log(ingredientes);
</script>
2 respostas
solução!

Oi Jackson, tudo bem?

Vamos lá, repare que: dentro do for, no bloco do primeiro if, você deu um nome a variável: achou.

Certo, só que quando foi prosseguir com o código, por algum motivo você inseriu outro nome no segundo if, você inseriu "novo" como nome da variável, que devia ser de acordo com a que você declarou acima. Por isso o código não está funcionando de maneira correta, ele não te pergunta as três vezes que você exemplificou que o programa precisa pedir.

Para funcionar, basta corrigir o nome da variável.

        if (novo == false) {
            ingredientes.push(ingrediente);
        }

Ficou claro? Se sim, espero ter te ajudado! Bons estudos =)

Olá, Jackson.

Existem 2 erros no seu código:

Neste if (if (ingredientes[posicao] == quantidade) {), você deveria comparar com ingrediente, não com quantidade.

Seu código não roda pq neste if (if (novo == false) {), vc usou a variável "novo", mas ela não existe. A variável correta seria "achou".