Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problemas com calculo!

Boa noite! Estou com um problema, estou fazendo um trabalho para o curso, e a logica está toda certa, eu acho, assim como os comandos, o unico erro que está tendo é o valor final do calculo. E não acho o erro por nada, gostaria de saber se vocês me mostrariam onde está o erro. var codDestino = alert("Qual o codigo do destino? Destinos: 1 - R$1500,00. 2 - R$2000,00. 3 - R$2300,00. 4 - 3000,00 5 - R$4100,00"); var dest = prompt([1, 2, 3, 4, 5]); switch (dest){ case '1': var destino = 1500.00; case '2': var destino = 2000.00; case '3': var destino = 2300.00; case '4': var destino = 3000.00; case '5': var destino = 4100.00; }; if(dest = 0000) {alert("Programa finalizado")} else { var destinoV2 = parseInt(destino); var numPassageiros = prompt("Quantos passageiros?"); var passageiros = parseInt(numPassageiros); var codHotel = prompt("Qual o codigo do hotel? Hoteis: A - R$300,00. B - R$200,00. C - R$100,00"); var codHotelV2 = codHotel.toUpperCase(); switch (codHotelV2) { case 'A': var hotel = 300.00; case 'B': var hotel = 200.00; case 'C': var hotel = 100.00; }; var codHotel = hotel; var precoHotel = parseInt(hotel); var quantDias = prompt("Quantos dias?"); var dias = parseInt(quantDias); var valor = destinoV2 + ((hotel passageiros) dias); var valorFinal = parseInt(valor); console.log(valorFinal); };

1 resposta
solução!

Quando publicar código, clique no botão inserir código e então coloque o código dentro de . Assim fica mais legível para visualizar.

Um dos erros tá nesta linha :

var valor = destinoV2 + ((hotel passageiros) dias);

Troque por isto

var valor = (destinoV2 * passageiros) + (hotel * passageiros * dias);

Além disto, vc precisa incluir o break depois de cada case.

switch (dest) { 
    case '1': var destino = 1500.00; break;
    case '2': var destino = 2000.00; break;
    case '3': var destino = 2300.00; break;
    case '4': var destino = 3000.00; break;
    case '5': var destino = 4100.00; 
};

Se vc não incluir o break, o case continuará executando e armazenará sempre o último valor na variável.

O código completo fica assim

<script>

var codDestino = alert("Qual o codigo do destino? Destinos: 1 - R$1500,00. 2 - R$2000,00. 3 - R$2300,00. 4 - 3000,00 5 - R$4100,00"); 

var dest = prompt([1, 2, 3, 4, 5]); 

switch (dest) { 
    case '1': var destino = 1500.00; break;
    case '2': var destino = 2000.00; break;
    case '3': var destino = 2300.00; break;
    case '4': var destino = 3000.00; break;
    case '5': var destino = 4100.00; 
}; 

if(dest = 0000) {
    alert("Programa finalizado")
} else { 
    var destinoV2 = parseInt(destino); 
    var numPassageiros = prompt("Quantos passageiros?"); 
    var passageiros = parseInt(numPassageiros);
    var codHotel = prompt("Qual o codigo do hotel? Hoteis: A - R$300,00. B - R$200,00. C - R$100,00");
    var codHotelV2 = codHotel.toUpperCase(); 
    switch (codHotelV2) {
         case 'A': var hotel = 300.00; break; 
          case 'B': var hotel = 200.00; break;
          case 'C': var hotel = 100.00; 
    }; 
    var codHotel = hotel; 
    var precoHotel = parseInt(hotel); 
    var quantDias = prompt("Quantos dias?"); 
    var dias = parseInt(quantDias); 
    var valor = (destinoV2 * passageiros) + (hotel * passageiros * dias); 
    var valorFinal = parseInt(valor); 
    console.log(valorFinal); 
};

</script>