Olá, boa noite! Tudo bem?
Eu tentei fazer um pouco diferente do que foi pedido, tentei fazer alguns loops para garantir que o usuário estaria, de fato inserindo alguma informação válida, além de algumas mensagens personalizadas, como: O tempo faltante para tirar a carteira de motorista e mensagens de erro. Gostaria de um feedback do código. E saber como melhorariam ele.
CÓDIGO:
// PÁGINA DE DESAFIOS
// Autor: Allan Gomes
// Programa: Comparador de Maior Idade;
// Liguagem de Programação: JavaScript;
// DEFINIÇÃO DE VARIÁVEIS
let mensagemDeErro = "Erro! Preencha todos os campos devidamente.";
let nome;
let idade;
let rep = true;
// DEFINIÇÃO DE FUNÇÕES
function naoPreenchido(mensagem) {
a = prompt(mensagem);
while (!a || a.trim() === "") {
console.log(a);
alert(mensagemDeErro);
a = prompt("Tente novamente.\n" + mensagem);
}
return a
}
function compararIdade(name, age) {
const c = 18;
if (age >= c) {
alert("Parabéns, " + name + "! Você pode retirar a sua carteira de motorista com sucesso.");
rep = false;
return false
}
else if (age < c) {
var d = c - age;
if (d == 1) {
alert("Sinto muito, " + name + "! Você não possui idade suficiente para retirar a sua carteira de motorista.\nTente novamente daqui a " + d + " ano.");
}
else {
alert("Sinto muito, " + name + "! Você não possui idade suficiente para retirar a sua carteira de motorista.\nTente novamente daqui a " + d + " anos.");
}
rep = false;
return false
}
else {
alert("Olá, " + name + ".\nVocê não inseriu as informações corretamente.");
rep = true;
}
}
// PROGRAMA
alert("Boas vindas ao nosso site!");
nome = naoPreenchido("Qual o sua nome?");
while (rep == true) {
idade = parseInt(naoPreenchido("Qual a sua idade?"));
compararIdade(nome, idade);
}