2
respostas

Desafio: Loops e tentativas com Menu

do{
    menu = prompt("Escolha uma opção:" +
        "\n 1. Contador de 1 até 10." +
        "\n 2. Contador de 10 até 0." +
        "\n 3. Contagem regressiva do número digitado até 0." +
        "\n 4. Contagem progressiva de 0 até número digitado" +
        "\n 0. Sair.");

    if(menu == 1){
        // 1. Crie um contador que comece em 1 e vá até 10 usando um loop while. 
        // Mostre cada número.
        contador = 1;

        console.log(`Contador de 1 até 10:`);

        while(contador <= 10){
            console.log(`Contador ${contador}`);
            contador++;
        }
    }

    if(menu == 2){
        // 2. Crie um contador que começa em 10 e vá até 0 usando um loop while. 
        // Mostre cada número.
        contador = 10;

        console.log(`Contador de 10 até 0:`);
        
        while(contador >= 0){
            console.log(`Contador ${contador}`);
            contador--;
        }
    }

    if(menu == 3){
        // 3. Crie um programa de contagem regressiva. 
        // Peça um número e conte deste número até 0, 
        // usando um loop while no console do navegador.

        contagem_regressiva = prompt("Digite um número maior que zero:");

        console.log(`Contador regressivo de ${contagem_regressiva} até 0:`);

        while(contagem_regressiva >= 0){
            console.log(`Contador ${contagem_regressiva}`);
            contagem_regressiva--;
        }
        
    }

    if(menu == 4){
        // 4. Crie um programa de contagem progressiva. 
        // Peça um número e conte de 0 até esse número, 
        // usando um loop while no console do navegador.

        contagem_progressiva = prompt("Digite um número maior que zero:");
        numero = 0;

        console.log(`Contador progressivo de 0 até ${contagem_progressiva}:`);

        while(numero <= contagem_progressiva){
            console.log(`Contador ${numero}`);
            numero++;
        }
    }
    
    if(menu == 0){
        break;   
    }
    
    if(menu >4 || menu < 0){
        alert("Digite uma opção válida");
    }
    
}while(menu != 0)
2 respostas

Oi Camilla,

Seu código está muito bom e bem estruturado! 👍

Você conseguiu implementar o menu e os loops com sucesso. 😎

Apenas uma pequena observação: na opção 3 e 4, você está usando prompt para receber o número e, como o prompt retorna uma string, você precisa converter para número antes de usar na comparação do while e na saída do console.log. Você pode usar parseInt(), parseFloat() ou Number() para isso. 🧐

Veja um exemplo de como ficaria a opção 3:

if(menu == 3){
    contagem_regressiva = prompt("Digite um número maior que zero:");
    contagem_regressiva = parseInt(contagem_regressiva); // Converte para inteiro

    console.log(`Contador regressivo de ${contagem_regressiva} até 0:`);

    while(contagem_regressiva >= 0){
        console.log(`Contador ${contagem_regressiva}`);
        contagem_regressiva--;
    }
}

E a opção 4:

if(menu == 4){
    contagem_progressiva = prompt("Digite um número maior que zero:");
    contagem_progressiva = parseInt(contagem_progressiva); // Converte para inteiro
    numero = 0;

    console.log(`Contador progressivo de 0 até ${contagem_progressiva}:`);

    while(numero <= contagem_progressiva){
        console.log(`Contador ${numero}`);
        numero++;
    }
}

Para saber mais: Conversão de string para número em JavaScript.

Continue praticando e explorando a lógica de programação! 💪

Obrigada Luis pelas dicas de melhoria, já arrumei no meu código.☺️

do{
    menu = parseInt(prompt("Escolha uma opção:" +
        "\n 1. Contador de 1 até 10." +
        "\n 2. Contador de 10 até 0." +
        "\n 3. Contagem regressiva do número digitado até 0." +
        "\n 4. Contagem progressiva de 0 até número digitado" +
        "\n 0. Sair."));

    if(menu == 1){
        // 1. Crie um contador que comece em 1 e vá até 10 usando um loop while. 
        // Mostre cada número.
        contador = 1;

        console.log(`Contador de 1 até 10:`);

        while(contador <= 10){
            console.log(`Contador ${contador}`);
            contador++;
        }
    }

    if(menu == 2){
        // 2. Crie um contador que começa em 10 e vá até 0 usando um loop while. 
        // Mostre cada número.
        contador = 10;

        console.log(`Contador de 10 até 0:`);
        
        while(contador >= 0){
            console.log(`Contador ${contador}`);
            contador--;
        }
    }

    if(menu == 3){
        // 3. Crie um programa de contagem regressiva. 
        // Peça um número e conte deste número até 0, 
        // usando um loop while no console do navegador.

        contagem_regressiva = parseInt(prompt("Digite um número maior que zero:"));

        console.log(`Contador regressivo de ${contagem_regressiva} até 0:`);

        while(contagem_regressiva >= 0){
            console.log(`Contador ${contagem_regressiva}`);
            contagem_regressiva--;
        }
        
    }

    if(menu == 4){
        // 4. Crie um programa de contagem progressiva. 
        // Peça um número e conte de 0 até esse número, 
        // usando um loop while no console do navegador.

        contagem_progressiva = parseInt(prompt("Digite um número maior que zero:"));
        numero = 0;

        console.log(`Contador progressivo de 0 até ${contagem_progressiva}:`);

        while(numero <= contagem_progressiva){
            console.log(`Contador ${numero}`);
            numero++;
        }
    }
    
    if(menu == 0){
        break;   
    }
    
    if(menu >4 || menu < 0){
        alert("Digite uma opção válida");
    }
    
}while(menu != 0)