Incrementei algumas condicionais a mais e com a opção também de interromper o bloco de comparações se por acaso o usuário no primeiro momento responder que tem menos de 18 anos, porque a premissa principal é ter 18 anos ou mais para tirar a carteira.
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
var idade = parseInt(prompt("Qual é sua idade?"));//converte string em inteiro
if (idade >= 18) {//se maior que 18 executa as outras condições, se não cai no ultimo else e exibe mensagem definitiva
var temCarteira = prompt("Tem carteira? Responda S ou N");
if (idade >= 18 && temCarteira == "S" || temCarteira == "s") {
mostra("Pode dirigir"); //verifica se tem idade e carteira independentemente se digita maiúscula ou minúscula
} else {
mostra("Não pode dirigir");
if (idade >= 18 && temCarteira == "N" || temCarteira == "n") {//verifica se tem idade e não tem carteira independentemente se digita maiúscula ou minúscula
mostra("Motivo: Necessário possuir carteira");
}
}
}else {
mostra("Não pode dirigir");
mostra("Motivo: carteira só a partir de 18 anos");
}
</script>
Tentei fazer a indentação o melhor possível, mas não sei se está bom. Por favor, me ajudem.
Obrigado.