Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eai galera tudo bem ?
Estou estudando e preciso validar a idade do usuário e saber se ele tem mais de 18 anos.
O código do calculo eu peguei pronto da internet e esta funcionando, mais eu não sei ao certo oque cada coisa faz.
Alguem poderia me explica como funciona o sistema de calculo dele ?
Console.WriteLine("Calculo para saber quantos anos você tem hoje \nInsira o ano do seu nascimento");
int ano = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Insira o mês do seu nascimento");
int mes = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Insira o dia do seu nascimento");
int dia = Convert.ToInt16(Console.ReadLine());
try
{
//O código calcula a idade atual
DateTime dataNascimento = new DateTime(ano, mes, dia);
int idadeAtual = DateTime.Now.Year - dataNascimento.Year;
if (DateTime.Now.Month < dataNascimento.Month || (DateTime.Now.Month == dataNascimento.Month && DateTime.Now.Day < dataNascimento.Day))
{
idadeAtual--;
}
if (idadeAtual >= 18)
{
Console.WriteLine("Você é maior de idade");
}
else
{
Console.WriteLine("Você é menor de ideda");
}
//fim do calculo da idade atual
Console.WriteLine("Hoje você tem {0} anos", idadeAtual);
}
catch (Exception)
{
Console.WriteLine("Data Invalida");
}>
É bem difícil, cuidado para não se perder...
int idadeAtual = DateTime.Now.Year - dataNascimento.Year;
Valew obrigado agora entendi a logica desse código
Eu uso esse código para verificar a data e quantos anos que a pessoa tem.
<%
'Função que vai calcular a idade
function idade(datanascimento)
ano_atual=year(date())'Extrai ano do atual
mes_atual=month(date())'Extrai mes atual
ano_niver=year(datanascimento)'Extrai ano do nascimento
mes_niver=month(datanascimento)'Extrai mês do nascimento
dif_ano=cint(ano_atual)-cint(ano_niver)'Faz a diferença dos anos
dif_mes=cint(mes_atual)-cint(mes_niver)'Faz a diferença dos meses
'Verifica se a diferença dos meses é negativa,
'se for e pq ainda não fez aniversário
if (dif_mes<0) then
idade=cint(dif_ano)-1
else
idade=dif_ano
end if
end function
%>
<%
if idade(cdate(rsApostador("1987-03-30")))>=18 then
response.Write("Data Aceita")
elseif idade(cdate(rsApostador("1987-03-30")))<18 then
response.Write("Data Não aceita")
end if
%>
Eu acho mais simples esse código do que esse que você postou.
Eu não sei se isso vai te ajudar, se te ajudar acho bom.
Abraço.
Boa noite.
Eu acho que os moderadores pode colocar como RESOLVIDO.
É bem difícil, cuidado para não se perder...
int idadeAtual = DateTime.Now.Year - dataNascimento.Year;