Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- char ano_bissexto(unsigned int ano)// Baseado em: http://www.go4expert.com/forums/showthread.php?t=2099
- {
- if(ano%400 ==0 || (ano%100 != 0 && ano%4 == 0))
- return 1;
- return 0;
- }
- int main()
- {
- //variaveis
- unsigned int d,m,t=0,a;
- printf("\nDigite o dia(dd)\n");
- scanf("%d",&d);
- printf("\nDigite o mes(mm)\n");
- scanf("%d",&m);
- printf("\nDigite o ano (yyyy)\n");
- scanf("%d",&a);
- if((d>31) || (m>12) || (!d) || (!m) || (!a) ||//Casos absurdos
- ((m<8) && (!(m%2)) && (d>30)) ||//meses pares ATé julho tem no máximo 30 dias
- ((m>7) && (m%2) && (d>30)) ||//meses ímpares após julho tem no máximo 30 dias
- (!(ano_bissexto(a)) && (m==2) && (d >28)) )//Apenas anos bissextos tem 29 dias em fevereiro
- {
- printf("\nerro\n");
- return 0;
- }
- switch(m)
- {
- case 12:
- t+=30;
- case 11:
- t+=31;
- case 10:
- t+=30;
- case 9:
- t+=31;
- case 8:
- t+=31;
- case 7:
- t+=30;
- case 6:
- t+=31;
- case 5:
- t+=30;
- case 4:
- t+=31;
- case 3:
- if((ano_bissexto(a)))
- t+=29;
- else
- t+=28;
- case 2:
- t+=31;
- case 1:
- t+=d;
- break;
- }
- printf("\n\ntotal de dias = %d\n\n",t);
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement