56 lines
1.3 KiB
C
56 lines
1.3 KiB
C
#include <stdio.h>
|
|
#include <time.h>
|
|
|
|
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);
|
|
}
|
|
|
|
}
|
|
|