4
respostas

O programa ainda aceita ingredientes repetidos

ja revisei o codigo trocentas vezes e parece igual ao do professor. Vendo uma solução de outro aluno percebi que as pessoas estão colocando o contador = 0 , porem o professor tambem colocou como =1 no exemplo dele. Tambem ja tentei substituir o segundo while por for e deu na mesma.

segue abaixo meu codigo:



<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

        var n=0

             while(n < ingredientes.lenght) {

                if (ingredientes[n] == ingrediente) {
                    achou = true
                    break
                }
                n++
            } 

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

    }
    console.log(ingredientes);

</script>
4 respostas
<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;
        var n=0;
        while(n < ingredientes.lenght) {
            if (ingredientes[n] == ingrediente) {
                achou = true;
                break;
        }
        n++;
        } 

        if (achou == false) {
            ingredientes.push(ingrediente);
            contador++;
            }
    }
    console.log(ingredientes);

</script>

Oi Felipe, tudo bem, tenta colocar alguns ; que estão faltando e sua identação não tá muito boa, pode ser que o compilador esteja tendo alguma leitura errada. Faz isso, se não funcionar, me avisa que vou testar. Eu fiz a identação melhor aqui em cima, tenta arrumar.

Essa resolução não funcionou no meu

Oi Felipe e João, alterei no seu segundo while a variável ingredientes.lenght pela variável quantidade e funcionou aqui, tal qual no primeiro while está "(contador < quantidade)".

testa pra ver se no seu funciona também.

`

`


<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

        var n = 0

            while ( n < quantidade) {

                if (ingredientes[n] == ingrediente) {
                    achou = true
                    break
                }

                n++
            }

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




    }
    console.log(ingredientes);

</script>