Dúvida de como escrever ( Please !!)

1 resposta
front-endprogramaçãojavascript
R

Olá, estou com muita dúvida de como fazer uma atividade usando JavaScript no mundo HTML, vamos lá…

eu solicito ao usuario que fale em quantos postos de gasolina ele esteve usando o “parseInt(prompt” , que no caso é um total de 4 postos, após isso usando o “parseFloat(prompt” eu peço a ele que informe o valor da gasolina em cada posto que no caso foram 4, então o “parseFloat(prompt” será ‘‘ativado’’ 4 vezes pare digitar 4 valores diferentes…
após isso quero que no navegador mostre na tela apenas o menor valor entre os 4 informados, isso tudo usando o “for”.

Help !! :slightly_smiling_face:

<meta charset="UTF-8">

<h1>Consumo conciente Ford.</h1>

<script>

function pulaLinha(){	
		document.write("<br>")
	};

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

	var distancia_Percorrida = parseFloat(prompt("Qual a distância percorrida da sua casa até seu trabalho (em km)?")); 

	var consumo_Medio = parseFloat(prompt("Qual o consumo médio do seu veículo (em km/L)?"));
	
	var consumo_Necessario_Litros = Math.round(distancia_Percorrida/consumo_Medio); 

	mostra("O consumo necessário é " + consumo_Necessario_Litros + " km/L");

	var total_De_Postos = parseInt(prompt("Em quantos postos você pesquisou?"));

	var numero = 1;

	var total_De_Postos = 0;

	while(numero <= total_De_Postos) {
	}

	var valor_Pesquisado = parseInt(prompt("Digite o valor encontrado (em R$) no posto :"));

</script>

1 Resposta

H

Por que você fez var total_De_Postos = 0;? Isso faz com que o valor lido anteriormente seja perdido.

Outra coisa, não vejo muita vantagem em misturar dois estilos diferentes de nomenclatura de variáveis. Ou você escolhe nomes_desse_jeito, ou nomesDesseJeito (ou ainda NomesDesseJeito). Enfim, seria algo assim:

var totalDePostos = parseInt(prompt("Em quantos postos você pesquisou?"));
var menorValor = Number.MAX_SAFE_INTEGER;
var postoMenorValor; // posto que tem o menor valor (não sei se é pra ter, mas enfim, é só pra exemplificar)
for (var i = 1; i <= totalDePostos; i++) {
    var valor = parseFloat(prompt(`Digite o valor encontrado (em R$) no posto ${i}: `));
    if (valor < menorValor) {
        menorValor = valor;
        postoMenorValor = i;
    }
}
console.log(`O menor valor é ${menorValor.toLocaleString("pt-BR", { style: 'currency', currency: 'BRL' })}, encontrado no posto ${postoMenorValor}`);

A ideia é que o menor valor seja inicializado com Number.MAX_SAFE_INTEGER (o maior valor possível para um inteiro), assim eu garanto que na primeira iteração, qualquer valor digitado seja menor que ele, e o menorValor seja setado. Depois, nas iterações seguintes, basta verificar se ele é menor que o menorValor atual. Eu também guardei o posto que tem o menor valor, para ser exibido no final.

Para mostrar o valor eu uso toLocaleString, que já formata com duas casas decimais e coloca o “R$” na frente.

Criado 3 de março de 2022
Ultima resposta 3 de mar. de 2022
Respostas 1
Participantes 2