Olá Diego, tudo bem com você?
Respondendo a primeira:
Foi gerado por alguma parte do código que escrevi errado?
Na verdade não, seu código está certinho, isso acontece porque o javascript não consegue fazer contas utilizando a virgula, então o resultado é "NaN" que significa "Not a Number"
Existe algum meio de solucionar isso?
Ao longo dos cursos será ensinado maneira de "formatar" a resposta do usuário, para que seja possível evitar erros desse tipo, mas no primeiro momento esse resultado é normal :)
Irei te mostrar uma solução para resolver esse problema, mas não fique assustado se não compreender, nas próximas aulas você irá aprender grande parte desses conceitos :)
var nome = prompt("Olá, como você se chama?");
var alturaInformada = prompt(nome + ", qual é sua altura?");
if(alturaInformada.includes(',')){
alturaInformada = alturaInformada.replace(',', '.');
}
var pesoInformado = prompt(nome + ", qual é o seu peso?");
if(pesoInformado.includes(',')){
pesoInformado = pesoInformado.replace(',', '.');
}
Vou separar o código novo em 2 partes, a primeira:
if(alturaInformada.includes(',')){
Poderiamos traduzir isso como: "Se alturaInformada contém virgula" e embaixo eu tenho um bloco que diz o que é para fazer, no caso:
alturaInformada = alturaInformada.replace(',', '.');
Lendo esse trecho ficaria " Troque a virgula por ponto e coloque na variável alturaInformada"
Fazendo um resumo: Para corrigir esse problema estou verificando se o usuário digitou o número com virgula, caso seja verdadeiro eu troco a virgula por ponto para que o javascript faça a conta normalmente.
Caso ele tenha digitado com ponto o programa executa normalmente sem precisar fazer nenhuma mudança :)
Compreendeu? Qualquer coisa estou a disposição!
Abraços e Bons Estudos!