Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, eu tô tentando concluir um exercício no qual eu tenho que fazer um calculo de multiplicação entre dois números e por pro resultado aparecer num alert. Em seguinda, caso a pessoa queira fazer novamente o calculo, clicar num botão chamado Área, porém tá dando erro e eu não tô conseguindo identificar:
var n1 = parseInt(prompt('Digite um número:')). var n2 = parseInt(prompt('Digite outro número:')). escrever(result, n1, n2). function escrever(result, l, a) { var mensagem = 'O resultado é ' + (l*a). parseInt(mensagem). alert(mensagem). } function calcularArea(la, al) { var largura = parseInt(prompt('Digite novamente um número:')). var altura = parseInt(prompt('Agora outro número:')). var mens = 'O resultado é ' + (la*al). parseInt(mens). escrever(mens, la, al). }Coloque um botão limpar imputs.
Verifique se isso resolve:
function limparDados(){
inputResultado.value = "";
calculo.la= 0;
calculo.al = 0;
calculo.calcularArea = null;
}[RESOLVIDO] @admin
<!DOCTYPE html>
<!--Multiplica dois números reais e exibe o resultado na div "demo".
Caso o usuário queira repetir o cálculo, basta apertar ENTER.-->
<html>
<body onload= "alert('Olá! Vamos calcular a área de um objeto. Clique no botão " Calcule a área " para começarmos.')">
<p>Para calcularmos a área de uma superfície, geralmente,<br/>
multiplicamos a base (b) pela altura (h) do objeto.</p>
<p id="demo"></p>
<button onclick ="myFunction();">Calcule a área</button>
<script>
function myFunction() {
var x = parseFloat(prompt("Insira a base do objeto"));
var y = parseFloat(prompt("Agora a altura do objeto"));
document.getElementById("demo").innerHTML = "A área do objeto é: " + (x*y);
if (isNaN(x) || isNaN(y) || isNull(x) || isNull(y))
{ document.getElementById("demo").innerHTML = "Por favor, insira números.";}
alert('Caso queira repetir o cálculo, aperte ENTER.');
}
</script>
</body>
</html>
Então @alexdcarvalho, esse é realmente complicado, pelo menos pra mim. O que eu fiz foi o seguinte:
<!DOCTYPE html>
<!--Multiplica dois números reais e exibe o resultado na div "demo".
Caso o usuário queira repetir o cálculo, basta apertar ENTER. A condicional não funciona corretamente pois NaN é um dado do tipo número-->
Multiplica dois números reais e exibe o resultado na div "demo". Caso o usuário queira repetir o cálculo, basta apertar ENTER.
Sei que não resolve seu problema, mas é porque ao ler sobre alert() eprompt() e tipos de dados em JavaScript, reparei que o método prompt() irá interpretar o valor recebido como string e ao colocar parseInt() (ou float()) antes do prompt(), você faz a janela interpretar o string como um number data type. O problema disso está na interpretação final da função condicional: SE x for igual a um número e y também, então calcule, SENÃO diga para o usuário inserir números. Bom, acontece que NaN é um dado do tipo número, por isso o else não irá funcionar aqui.
"Mas cara, se era pra não mostrar solução, por que então colocar isso aqui?" É que estou aprendendo também. Rode esse novo código, por favor, quem sabe você não chegue a solução primeiro?