OK. Não é o escopo desta aula, mas fui pesquisando e alterando.
Coloquei um loop do while para continuar enquanto o nome não estivesse em branco. Funcionou perfeitamente, ou quase.
Percebi que a tela só renderiza quando sai do loop. Por que não exibe o IMC logo após eu inserir a altura, já que os cálculos são feitos todos corretamente?
in<meta charset="UTF-8">
<script type="text/javascript">
function pulaLinha(n){
for (i = 0; i<n; i++){
document.write("<br>");
}
}
function mostra(texto, nLinhas){
document.write(texto);
pulaLinha(nLinhas);
}
function arredonda(valor, casas){
var divisor = Math.pow(10, casas);
return (Math.round(valor * divisor) / divisor);
}
function calculaImc(peso, altura, casas){
return (arredonda((peso / (altura * altura)), casas))
}
var nome;
var peso = 0;
var altura = 0;
var imc = 0;
do{
nome = prompt("Qual o seu nome?")
if (nome) {
peso = prompt("Me diga seu peso")
altura = prompt ("Me diga sua altura");
imc = calculaImc(peso, altura, 2);
mostra(nome + ", seu IMC : " + imc, 2);
}
} while (nome)
</script>sira seu código aqui