1
resposta

Problema na criação de projeto pessoal

Estou tentando criar um código no qual o usuário primeiro irá inserir a quantidade de ingredientes que irá utilizar para fazer uma receita. Após inputar através de um prompt, terá uma caixa de texto e button para o usuário escrever os ingredientes (um de cada vez) depois clicará no botão para em seguida aparecer o texto "Seu ingrediente é (inserido na caixa de texto)" e depois retornará a caixa de texto para escrever o ingrediente seguinte e aparecer uma nova mensagem com o ingrediente posterior. Porém após o usuário digitar quantidade de ingredientes no prompt, já está aparecendo todas as mensagens "seu ingrediente é ". Conseguem me ajudar? : ) OBS: Até então só fiz a Aula 1 de programação, então sei poucas funções por enquanto (if, while, boolean, for) Segue o código abaixo que montei até então para identificarem onde estou errando:

<meta charset = "UTF-8">

<h3>Receitas de Caio</h3>

<input/>
<button>Digite aqui seu ingrediente</button>

<script>

    function pulaLinha() {

        document.write("<br>");
    }    


    function mostra (texto) {

        pulaLinha();
        document.write(texto);
    }

    var quantidadeIngredientes = parseInt(prompt("Quantos ingredientes terá sua receita?"));

    var contador = 1;

    while (contador <= quantidadeIngredientes) {


        var input = document.querySelector("input");
        input.focus();    


        mostra("Seu " + contador + "º ingrediente é " + input.value)
        contador++;
    }

    var button = document.querySelector("button");


    </script>
1 resposta

Realizei esse exercício também durante as aulas. O meu código ficou o seguinte:

<meta charset="UTF-8">

<h1>Ingredientes</h1>

<script>

    function mostra(frase){
        document.write(frase);
    }

    var ingredientes = [];

    var quantidade = parseInt(prompt("Quantos ingredientes você deseja acrescentar?"));

    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){
                existe = true;
                break;
            }
        }

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

    }

    mostra(ingredientes);
    console.log(ingredientes);

</script>

Antes de iniciar o loop eu declarei uma Array chamada Ingredientes para armazenar os ingredientes inseridos dentro do while. Dentro do while criei também um loop For para verificar se o mesmo ingrediente já tinha sido inserido anteriormente. Se já tivesse sido inserido ele continuara pedindo um ingrediente diferente, caso seja diferente ele armazenará na variável ingredientes.

Espero que tenha ajudado você a ter uma base do código a ser desenvolvido. Bons Estudos!