diff --git a/program.c b/program.c index 8b13789..116684d 100644 --- a/program.c +++ b/program.c @@ -1 +1,55 @@ +#include +#include + +int main() +{ + int y, m, d; + scanf("%d.%d.%d", &d, &m, &y); + if(y>=0 && y<=9999) + { + //check month + if(m>=1 && m<=12) + { + //check days + if((d>=1 && d<=31) && (m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12)) + {} + else if((d>=1 && d<=30) && m==4 || m==6 || m==9 || m==11) + {} + else if((d>=1 && d<=28) && m==2) + {} + else if(d==29 && m==2 && (y%400==0 ||(y%4==0 && y%100!=0))) + {} + else{ + printf("Nespravny datum\n"); + return 0; + } + } + else + { + printf("Nespravny datum\n"); + return 0; + } + } + else + { + printf("Nespravny datum\n"); + return 0; + } + struct tm t = { .tm_year=y-1900, .tm_mon=m-1, .tm_mday=d }; + t.tm_mday += 7; + mktime(&t); + if(t.tm_mday <10 && t.tm_mon+1 < 10){ + printf(" %d.0%d.%d\n\n", t.tm_mday, t.tm_mon+1, t.tm_year+1900); + } + else if(t.tm_mday < 10){ + printf(" %d.%d.%d\n\n", t.tm_mday, t.tm_mon+1, t.tm_year+1900); + } + else if(t.tm_mon+1 < 10){ + printf("%d.0%d.%d\n\n", t.tm_mday, t.tm_mon+1, t.tm_year+1900); + } + else{ + printf("%d.%d.%d\n\n", t.tm_mday, t.tm_mon+1, t.tm_year+1900); + } + +}