Olá,
O problema eh o seguinte: O usuario digita 2 datas ( sendo que a segunda deve ser 'maior' q a primeira ) . Aí o programa deve calcular o numero de dias entre essas 2 datas. O mês é considerado com 30 dias, menos o mês de fevereiro, que deve ter 28 dias. Além disso, em anos bissextos, o mês de fevereiro deve conter 29 dias.
Fiz o código, mas tou com um problema... Nas datas de teste que coloquei , 1/1/2004 e 1/3/2004 era pra dar 59 dias, ma no meu programa tá dando 60. Ou seja, ele n tá considerando os 29 dias de fevereiro do ano bissexto.
#include
#include
int main () {
int dia [2];
int mes [2];
int ano [2];
int i;
int totaldias;
int anot,mest,diat;
for (i=0;i<2;i++)
{
printf("Digite o dia:\n");
scanf("%d",&dia[i]);
printf("Digite o mes:\n");
scanf("%d",&mes[i]);
printf("Digite o ano:\n");
scanf("%d",&ano[i]);
if (mes[i] == 2 || mes[i] == 02 && ano[i] % 4 == 0)
{
mes[i] = mes[i]*29;
}
if (ano[i] % 4 == 0)
{
ano[i] = ano[i]*366;
} else {
ano[i] = ano[i]*365;
}
if (mes[i] == 2 || mes[i] == 02)
{
mes[i] = mes[i]*28;
} else {
mes[i] = mes[i]*30;
}
aux = mes [i]
}
anot = ano[1] - ano[0];
mest = mes[1] - mes[0];
diat = dia[1] - dia[0];
totaldias = anot + mest + diat;
printf("Dias decorridos: %d \n",totaldias);
return 0;
}
Alguem pode me ajudar a resolver isso?
Obrigada =)
utopia123
Novo Membro
Registrado
2 Mensagens
0 Curtidas