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

As contas estão saindo erradas.

Quando coloco notas inteiras o programa reproduz um resultado (um resultado errado, mas pelo menos exibe alguma coisa), porém quando uso notas com decimais, no lugar delas aparece NaN.

Obs: Já utilizei estes números com " , " e " . " e de nenhum jeito funcionou.

O que está acontecendo?

<meta charset="UTF-8"> 

<script> 


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


}

function tx(frase)  {
    document.write(frase);
    pulaLinha();

}

function media(n1, n2, ponto) {
    return ((n1+n2)-ponto);


}

var materia = prompt("Diga a matéria");
var nota1 = prompt("A sua primeira nota");
var nota2 = prompt("A sua segunda nota");
var pontuacao = prompt("Quantos pontos você precisa fazer ao final das 4 unidades?");

var notaFinal = media(nota1, nota2, pontuacao); 

tx("Para passar em "+materia+ " você precisa fazer "+ notaFinal+" ao longo das próximas 2 unidades ");
tx("Ou seja, no mínimo"+ notaFinal/2+ " em cada uma das próximas unidades");

</script>
5 respostas

Olá Clara,

Você pode adicionar na entrada das notas e da pontuação o parseFloat, uma função quer irá fazer o JavaScript entender que a sua entrada é um numero com ponto flutuante e não um tipo texto. Exemplo:

var nota1 = parseFloat(prompt("A sua primeira nota"));

Agora quanto ao resultado o problema está com a conta que está sendo feita mesmo, e não um problema o código.

Espero ter ajudado

Obrigada, Joel. Mas porque o Java leria os números postos pelo usuário como texto se ele não está entre " "?

A entrada pelo prompt é uma cadeia de caracteres contendo o texto que foi digitado, como o JavaScript não é uma linguagem fortemente tipada quando vc faz a conta ele converte para int e realiza a operação, porém quando vc fez a entrada com um número "quebrado" na hora da soma o JavaScript não fez a conversão e simplesmente concatenou, e na hora de fazer a subtração a confusão foi feita e retornou um NAN.

Espero ter ajudado

Compreendi!! Muito obrigada :)

solução!

De nada, bons estudos