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

Eu fui um pouquinho além e adoraria que isso virasse um app pro meu celular

Eu dei uma incrementada no que foi pedido, calculando o valor do quilômetro rodado e adicionei um if/else para deixar claro pro usuário o que ele deveria escolher, dados os valores que ele entrou da gasolina e do álcool. Adoraria fazer disso um appzinho pro meu celular para quando eu fosse abastecer o carro. hehe

PS: preferi não arredondar os valores porque ficaria em 0 e acho que isso poderia ser confuso para o usuário. Se houvesse como arredondar com três dígitos depois do zero seria melhor.

<meta charset="utf-8">
<h3>Álcool ou Gasolina?</h3>

<script>

    let precoGas = prompt("Digite o valor da gasolina: ");
    let precoAlc = prompt("Digite o valor do álcool: ")
    var tanque = 40;

    var caminhoComGasolina = 480;
    var consumoDeGasolina = tanque/caminhoComGasolina;
    var precoKmGas = precoGasconsumoDeGasolina;

    document.write ("O consumo de gasolina é de " + consumoDeGasolina + " litro por quilômetro.");
    document.write ("<br>");
    document.write("O preço do quilômetro rodado com gasolina é de " + precoKmGas + " reais.");
    document.write ("<br>");


    var caminhoComAlcool = 300;
    var consumoDeAlcool = tanque/caminhoComAlcool;
    var precoKmAlc = precoAlcconsumoDeAlcool;

    document.write("O consumo de álcool é de " + consumoDeAlcool + " litro por quilômetro.");
    document.write ("<br>");
    document.write("O preço do quilômetro rodado com álcool é de " + precoKmAlc + " reais.");
    document.write ("<br>");

    if (precoKmAlc<precoKmGas) document.write ("<strong>Escolha o álcool. </strong>");
    else document.write ("<strong>Escolha a gasolina. </strong>");
</script>

E resulta em:

*Álcool ou Gasolina?

O consumo de gasolina é de 0.08333333333333333 litro por quilômetro.

O preço do quilômetro rodado com gasolina é de 0.5666666666666667 reais.

O consumo de álcool é de 0.13333333333333333 litro.

O preço do quilômetro rodado com álcool é de 0.7866666666666667 reais.

Escolha a gasolina.*

9 respostas
solução!

Olá, sou novo por aqui (meu primeiro post) e achei que ficou bacana... e dá pra arredondar sim.

Dá uma lida nesse artigo da alura, em especial a parte do .toFixed(), que com ele você consegue formatar esses números de acordo com as casas decimais que preferir. Tem até uma parte sobre como converter já para o formato de moeda também.

Massa esse artigo, ein? É exatamente o que eu queria colocar mas não sabia o nome! Hehe Amanhã eu vou alterar o programa e respondo aqui com correção. Brigada!

João Fernando, deu certinho o que você me mostrou e ficou como abaixo.

Ah, esqueci de falar que eu pus o prompt também para entrarem com o preço da gasolina e do álcool e assim definir melhor a escolha do usuário.

<meta charset="utf-8">
<h3>Álcool ou Gasolina?</h3>

<script>

    function pulaLinha(){

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

    function pulaLinhaDuplo(){

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

    let precoGas = prompt("Digite o valor da gasolina: ");
    let precoAlc = prompt("Digite o valor do álcool: ")
    var tanque = 40;

    var caminhoComGasolina = 480;
    var consumoDeGasolina = tanque/caminhoComGasolina;
    var precoKmGas = precoGas*consumoDeGasolina;
    const formatadoGas = precoKmGas.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' });

    document.write ("O consumo de gasolina é de " + consumoDeGasolina.toFixed(3) + " litro por quilômetro.");
    pulaLinha();
    document.write("O preço do quilômetro rodado com gasolina é de " + formatadoGas + ".");
    pulaLinhaDuplo();


    var caminhoComAlcool = 300;
    var consumoDeAlcool = tanque/caminhoComAlcool;
    var precoKmAlc = precoAlc*consumoDeAlcool;
    const formatadoAlc = precoKmAlc.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' });

    document.write("O consumo de álcool é de " + consumoDeAlcool.toFixed(3) + " litro por quilômetro.");
    pulaLinha();
    document.write("O preço do quilômetro rodado com álcool é de " + formatadoAlc +".");
    pulaLinhaDuplo();

    if (precoKmAlc<precoKmGas) document.write ("<h2>Escolha o álcool. </h2>");
    else document.write ("<h2>Escolha a gasolina. </h2>");
</script>

<footer> 
<h4>Feito por Maria C R Rodrigues</h4> 
</footer>

Retornando:

Álcool ou Gasolina? O consumo de gasolina é de 0.083 litro por quilômetro. O preço do quilômetro rodado com gasolina é de R$ 0,58.

O consumo de álcool é de 0.133 litro por quilômetro. O preço do quilômetro rodado com álcool é de R$ 0,67.

**Escolha a gasolina.

**

Feito por Maria C R Rodrigues

Que ideia excelente, adorei

Quando coloco os valores solicitados com casa decimal retorna que o preço do Km rodado é R$ NaN. estou tentando solucionar mas ainda não achei o porque... Alguém sabe ?

{editado} descobri e é uma bobeira kkk....a casa decimal deve ser adicionada com . (ponto) e não com , (vírgula)

Fabio, não é porque você está usando vírgula? No JS só dá para usar pontos em casas decimais.

Vi sua edição depois. hehe

Foi exatamente isso.

Mas consegui "corrigir" direto no código tbm, usando o parseInt()..... agora funciona do jeito que o usuário quiser escrever :)

Eu sabia que tinha outra maneira de arredondar além do Math.round(), só n me lembrava qual, seu post me ajudou a lembrar e seu exercício ficou ótimo! :D

Sabrina, se bobear tem mais outras. Brigada por comentar. :)

Fábio, bom saber que com o parseInt eu consigo usar vírgulas, isso tava me dando nervoso, errava o tempo todo.