Escreva um algoritmo que calcule a idade de uma pessoa, solicitando mês e ano do seu nascimento.
Respostas
respondido por:
0
O truque aí é detectar se a pessoa já fez aniversário ou não no ano corrente
Por exemplo, quem nasceu em 1990 vai fazer 28 anos em 2018 (hoje). Só não sabemos se a pessoa já fez os 28 ou se vai fazer dependendo do mês em que ela nasceu
Em C a conta é simples
idade = ano_atual - ano_nascimento -1 + (mes_nascimento <= mes_atual)
O que acontece aqui é que a expressão booleana
(mes_nascimento <= mes_atual) vai dar 1 (verdadeiro) se o mes de nascimento já tiver passado e vai dar 0 (falso) se o mês ainda não tiver passado.
ano_atual - ano_nascimento -1 dá quantos anos completos a pessoa já viveu
então façamos um teste
Suponha uma moça que nasceu em maio de 1990 portanto ela vai informar
1990 para ano_nascimento
5 para mes_nascimento
Estamos no dia 14 de fevereiro de 2018, portanto,
ano_atual = 2018
mes_atual = 2
Façamos a avaliação da expressão
idade = ano_atual - ano_nascimento -1 + (mes_nascimento <= mes_atual)
idade = 2018 - 1990 - 1 + ( 5 <= 2)
idade = 28 - 1 + (5 <=2)
idade = 27 + (5 <= 2)
idade = 27 + (0)
Idade = 27
Quando for maio, (mes_nascimento <= mes_atual) vai ficar assim
(5 <= 5 ) que é igual a 1 e a moça bonita vai ter então 28 anos.
Por exemplo, quem nasceu em 1990 vai fazer 28 anos em 2018 (hoje). Só não sabemos se a pessoa já fez os 28 ou se vai fazer dependendo do mês em que ela nasceu
Em C a conta é simples
idade = ano_atual - ano_nascimento -1 + (mes_nascimento <= mes_atual)
O que acontece aqui é que a expressão booleana
(mes_nascimento <= mes_atual) vai dar 1 (verdadeiro) se o mes de nascimento já tiver passado e vai dar 0 (falso) se o mês ainda não tiver passado.
ano_atual - ano_nascimento -1 dá quantos anos completos a pessoa já viveu
então façamos um teste
Suponha uma moça que nasceu em maio de 1990 portanto ela vai informar
1990 para ano_nascimento
5 para mes_nascimento
Estamos no dia 14 de fevereiro de 2018, portanto,
ano_atual = 2018
mes_atual = 2
Façamos a avaliação da expressão
idade = ano_atual - ano_nascimento -1 + (mes_nascimento <= mes_atual)
idade = 2018 - 1990 - 1 + ( 5 <= 2)
idade = 28 - 1 + (5 <=2)
idade = 27 + (5 <= 2)
idade = 27 + (0)
Idade = 27
Quando for maio, (mes_nascimento <= mes_atual) vai ficar assim
(5 <= 5 ) que é igual a 1 e a moça bonita vai ter então 28 anos.
Perguntas similares
6 anos atrás
6 anos atrás
6 anos atrás
8 anos atrás
8 anos atrás
9 anos atrás
9 anos atrás