4
respostas

Criei uma calculadora para saber a quantidade de cerveja para um casamento

Criei uma calculadora para saber a quantidade de cerveja para um casamento

Irei casar ano que vem e estava pensando em algo para criar e que fosse útil, então decidir criar essa calculadora.

Observação e dúvida dentro do código: Quem souber como funciona o while que está na linha 43: while (!(turno == "m" || turno == "t" || turno == "n")) // Enquanto a condição for verdade será executado o comando dentro do while Eu tentei usar assim: while (turno != "m" || turno != "t" || turno != "n")), mas não funcionou. Fui pesquisar e vi falando sobre o uso do "!" e quando usei funcionou o código da forma que eu queria.

Quem achar um erro ou tiver uma dica para melhorar, é só falar.

Irei postar em 2 partes, pq o limite de caracteres me impede em 5 mil. A 2ª parte irei postar nos comentários.

1ª PARTE:

<meta charset="UTF-8">

<script>

    function pularLinha() {
        document.write("<br>");
    }
    function exibir (frase) {
        document.write(frase);
        pularLinha();
    }

    alert("Seja Bem-vindo ao cálculo da quantidade de cerveja por pessoa para o seu casamento.");

    var convidados = parseInt(prompt("Qual o número de convidados da sua festa?"));
        while (isNaN(convidados)){
            convidados = parseInt(prompt("Qual o número de convidados da sua festa?"));
        }

    var idosos = parseInt(prompt("Dos seus convidados, quantos idosos que não bebem?"));
        while (isNaN(idosos)){
            idosos = parseInt(prompt("Dos seus convidados, quantos idosos que não bebem?"));
        }
        //Criar um IF para casa não tenho idosos mostar que não terão idosos

    var criancas = parseInt(prompt("Quantas crianças irão na sua festa?"));
        while (isNaN(criancas)){
            criancas = parseInt(prompt("Quantas crianças irão na sua festa?"));
        }
        //Criar um IF para casa não tenha crianças não mostrar

    var porcentagemBebemMais = parseInt(prompt("Qual a porcentagem de convidados que você acha que bebem mais? Digite apenas números."));
        while (isNaN(porcentagemBebemMais)){
            porcentagemBebemMais = parseInt(prompt("Qual a porcentagem de convidados que você acha que bebem mais? Digite apenas números."));
        }

    var tempoFesta = parseInt(prompt("Serão quantas horas de festa?"));
        while ((isNaN(tempoFesta)) || tempoFesta == 0){
            tempoFesta = parseInt(prompt("Quanto tempo de festa?"));
        }

    var turno = prompt("A festa inicia em qual turno? Digite apenas a 1ª letra: m - manhã, t - tarde ou n - noite? ");    
        while (!(turno == "m" || turno == "t" || turno == "n")){ //coloco ! quando quero que faça algo quando for verdade
            turno = prompt("A festa inicia em qual turno? Digite apenas a 1ª letra: m - manhã, t - tarde ou n - noite? ");
        }

    //INTRODUÇÃO
        exibir ("<h1> Parabéns pelo seu casamento! <br> Que esse sistema te ajude um pouco nessa jornada.</h1>");

    //APRESENTAÇÃO DOS DADOS
        exibir ("<h3>Dados do nosso casamento:</h3>");

    //TOTAL CONVIDADOS
        exibir("Você terá " + convidados + " convidados no seu casamento."); //100

    //QTD IDOSOS
        if (idosos > 0){
            exibir("Serão " + idosos + " idosos que não irão beber."); // 0
        } else {
            exibir ("Não terão idosos no seu casamento.");
        }

    //CRIANÇAS
        if (criancas > 0){
                exibir("E " + criancas + " crianças que não entram na contagem."); //0
        } else {
            exibir ("Não terão crianças no seu casamento.");
        }


        //TEMPO DE FESTA
            exibir ("A duração da sua festa será de " + tempoFesta + " horas.");

    //TURNO DE FESTA
        if (turno == "m"){
            turno = "manhã";
        }
        if (turno == "t"){
            turno = "tarde";
        }
        if (turno == "n"){
            turno = "noite";
        }
        exibir ("O turno da festa será de " + turno + ".");

    exibir ("<br><h3>Cálculo da quantidade de cerveja para o casamento:</h3> ")

    //TOTAL DE QUEM BEBE
        var pessoasBebem = (convidados - idosos ) - criancas; //100

        if (idosos == 0 && criancas == 0) {
            exibir("Todos os " + convidados + " convidados da sua festa bebem.");
        }else {
            exibir("O total de quem irá beber no seu casamento é de " + pessoasBebem + " pessoas.");
        }


    if (porcentagemBebemMais > 0 ){

        var CervejaPorHoraBebeMais = 0.350; // 0,350 litros por hora
        var CervejaPorHoraBebeModerado = 0.300; // 0,300 litros por hora

        var numeroBebemMais = (pessoasBebem * (porcentagemBebemMais/100)); //30
        var numeroBebemModerado = (pessoasBebem - numeroBebemMais); //70 

        var qtdHoraCervejaBebemMais = numeroBebemMais * CervejaPorHoraBebeMais; // 30 * 0,350 = 10,5 Litros
        var qtdHoraCervejaBebemModerado = numeroBebemModerado * CervejaPorHoraBebeModerado; //70 * 0,300 = 21 Litros

        var quantidadeCervejaBebemMais = qtdHoraCervejaBebemMais * tempoFesta; // 5 horas * 10,5 = 52,5 Litros
        var quantidadeCervejaBebemModerado = qtdHoraCervejaBebemModerado * tempoFesta; // 5 horas * 21 = 105 Litros

        var qtdTotalCerveja = quantidadeCervejaBebemMais + quantidadeCervejaBebemModerado;
4 respostas

2ª PARTE:

        if (turno == "manhã"){
            var porcentagemConsumo = 30;
            var quantidadeTurno = (1+(porcentagemConsumo/100));
            var plusTurnoBebemMais = quantidadeTurno * quantidadeCervejaBebemMais;
            var plusTurnoBebemModerado = quantidadeTurno * quantidadeCervejaBebemModerado;
            var plusTotalCerveja = plusTurnoBebemMais + plusTurnoBebemModerado;
            var plus = plusTotalCerveja - qtdTotalCerveja;
            exibir("- Para as " + tempoFesta + " horas de festa serão necessários " + Math.round(qtdTotalCerveja) + " litros de Cerveja.");
            exibir("- Mas como seu evento é no turno da manhã e as pessoas tendem a consumir mais do que em outros turnos, então será necessário acrescentar ao quantitativo normal mais " + porcentagemConsumo + "%: " + Math.round(plus) + " litros.");
            exibir("<br>- Para os " + Math.round(numeroBebemMais) + " que bebem mais do que o demais convidados serão " + Math.round(plusTurnoBebemMais) + " litros.");
            exibir("- Para os " + Math.round(numeroBebemModerado) + " que bebem moderadamente serão " + Math.round(plusTurnoBebemModerado) + " litros.");
            exibir("- Serão " + plusTotalCerveja / pessoasBebem + " litros de Cerveja por pessoa.");
            exibir("<h3>No total serão necessários " + Math.round(plusTotalCerveja) + " litros de Cerveja.</h3>");
        }
        if (turno == "tarde"){
            var porcentagemConsumo = 15;
            var quantidadeTurno = (1+(porcentagemConsumo/100));
            var plusTurnoBebemMais = quantidadeTurno * quantidadeCervejaBebemMais;
            var plusTurnoBebemModerado = quantidadeTurno * quantidadeCervejaBebemModerado;
            var plusTotalCerveja = plusTurnoBebemMais + plusTurnoBebemModerado;
            var plus = plusTotalCerveja - qtdTotalCerveja;
            exibir("- Para as " + tempoFesta + " horas de festa serão necessários " + Math.round(qtdTotalCerveja) + " litros de Cerveja.");
            exibir("- Mas como seu evento é no turno da tarde e as pessoas tendem a consumir um pouco mais, então será necessário acrescentar ao quantitativo normal mais " + porcentagemConsumo + "%: " + Math.round(plus) + " litros.");
            exibir("<br>- Para os " + Math.round(numeroBebemMais) + " que bebem mais do que o demais convidados serão " + Math.round(plusTurnoBebemMais) + " litros.");
            exibir("- Para os " + Math.round(numeroBebemModerado) + " que bebem moderadamente serão " + Math.round(plusTurnoBebemModerado) + " litros.");
            exibir("- Serão " + plusTotalCerveja / pessoasBebem + " litros de Cerveja por pessoa.");
            exibir("<h3>No total serão necessários " + Math.round(plusTotalCerveja) + " litros de Cerveja.</h3>");
        }
        if (turno == "noite"){
            var porcentagemConsumo = 0;
            var quantidadeTurno = (1+(porcentagemConsumo/100));
            var plusTurnoBebemMais = quantidadeTurno * quantidadeCervejaBebemMais;
            var plusTurnoBebemModerado = quantidadeTurno * quantidadeCervejaBebemModerado;
            var plusTotalCerveja = plusTurnoBebemMais + plusTurnoBebemModerado;
            var plus = plusTotalCerveja - qtdTotalCerveja;
            exibir("- Para os " + Math.round(numeroBebemMais) + " que bebem mais do que o demais convidados serão " + Math.round(plusTurnoBebemMais) + " litros.");
            exibir("- Para os " + Math.round(numeroBebemModerado) + " que bebem moderadamente serão " + Math.round(plusTurnoBebemModerado) + " litros.");
            exibir("- Serão " + plusTotalCerveja / pessoasBebem + " litros de Cerveja por pessoa.");
            exibir("<h3>Para as " + tempoFesta + " horas de festa serão necessários " + Math.round(plusTotalCerveja) + " litros de Cerveja.</h3>");
            //exibir("Mas como seu evento é no turno da tarde e as pessoas tendem a consumir um pouco mais, então será necessário acrescentar ao quantitativo normal mais " + porcentagemConsumo + "%: " + Math.around(plus) + " litros.");
            //exibir("<br><h3>No total serão necessários: " + Math.round(plusTotalCerveja) + " litros de Cerveja.</h3>");
        }

    }

3ª PARTE:

 else {


        var CervejaPorHora = 0.300; // 0,300 litros por hora

        var qtdHoraCerveja = pessoasBebem * CervejaPorHora; // 100 * 0,300 = 30 Litros

        var quantidadeCerveja = qtdHoraCerveja * tempoFesta; // 5 horas * 30 = 150 Litros


        if (turno == "manhã"){
            var porcentagemConsumo = 30;
            var quantidadeTurno = (1+(porcentagemConsumo/100));
            var plusTurno = quantidadeTurno * quantidadeCerveja;
            var plus = plusTurno - quantidadeCerveja;
            exibir("Todos bebem moderadamente.")
            exibir("- Para as " + tempoFesta + " horas de festa serão necessários " + Math.round(quantidadeCerveja) + " litros de Cerveja.");
            exibir("- Mas como seu evento é no turno da manhã e as pessoas tendem a consumir mais do que em outros turnos, então será necessário acrescentar ao quantitativo normal mais " + porcentagemConsumo + "%: " + Math.round(plus) + " litros.");
            exibir("- Serão " + plusTurno / pessoasBebem + " litros de Cerveja por pessoa.");
            exibir("<h3>No total serão necessários " + Math.round(plusTurno) + " litros de Cerveja.</h3>");
        }
        if (turno == "tarde"){
            var porcentagemConsumo = 15;
            var quantidadeTurno = (1+(porcentagemConsumo/100));
            var plusTurno = quantidadeTurno * quantidadeCerveja;
            var plus = plusTurno - quantidadeCerveja;
            exibir("Todos bebem moderadamente.")
            exibir("- Para as " + tempoFesta + " horas de festa serão necessários " + Math.round(quantidadeCerveja) + " litros de Cerveja.");
            exibir("- Mas como seu evento é no turno da manhã e as pessoas tendem a consumir mais do que em outros turnos, então será necessário acrescentar ao quantitativo normal mais " + porcentagemConsumo + "%: " + Math.round(plus) + " litros.");
            exibir("- Serão " + plusTurno / pessoasBebem + " litros de Cerveja por pessoa.");
            exibir("<h3>No total serão necessários " + Math.round(plusTurno) + " litros de Cerveja.</h3>");
        }
        if (turno == "noite"){
            var porcentagemConsumo = 0;
            var quantidadeTurno = (1+(porcentagemConsumo/100));
            var plusTurno = quantidadeTurno * quantidadeCerveja;
            var plus = plusTurno - quantidadeCerveja;
            exibir("Todos bebem moderadamente.")
            exibir("- Serão " + plusTurno / pessoasBebem + " litros de Cerveja por pessoa.");
            exibir("<h3>Para as " + tempoFesta + " horas de festa serão necessários " + Math.round(plusTurno) + " litros de Cerveja.</h3>");
            //exibir("Mas como seu evento é no turno da tarde e as pessoas tendem a consumir um pouco mais, então será necessário acrescentar ao quantitativo normal mais " + porcentagemConsumo + "%: " + plus + " litros.");
            //exibir("<br><h3>No total serão necessários: " + Math.round(plusTurno) + " litros de Cerveja.</h3>");
        }
    }
    exibir("<h1> Que sejamos muito felizes! </h1>")

</script>

Uau, muito bacana, vou usar já, sua ideia foi genial, tá de parabéns.

Obrigado!

Pensei que se eu tinha que me desgastar, então tinha que ser em alguma com utilidade. kkkk

Sucesso na sua jornada!!