#include <stdio.h>
int main()
{
int a,b,c,d,e,f,g,h,i,j,k;
/*a : 처음날짜 년도
b : 처음날짜 달
c : 처음날짜 날짜
d : 목표날짜 년도
e : 목표날짜 달
f : 목표날짜 날짜
g : 오늘날짜 년도
h : 오늘날짜 달
i : 오늘날짜 날짜
j : 총날수
k : 지난날수
*/
/*입력부 시작*/
/*시작날짜 시작*/
/*시작년도 입력과 검산*/
printf("시작날짜의 년도를 입력해주세요 \n");
scanf("%d",&a);
if(a < 1900)
{
while(a < 1900)
{
printf("숫자를 1900이상으로 입력해주세요 \n");
scanf("%d",&a);
if(a > 1899) goto yes;
}
}
yes : printf("시작날짜의 달를 입력해주세요 \n");
scanf("%d",&b);
/*시작년도 달 입력과 검산*/
if(b < 1 || b > 12)
{
while(b < 1 || b > 12)
{
printf("숫자를 1 ~ 12사이의 수로 입력해 주세요 \n");
scanf("%d", &b);
if(b > 0 && b < 13) goto yes2;
}
}
/*시작년도 날짜 입력과 검산*/
yes2 : printf("목표날짜의 날짜를 입력해 주세요 \n");
scanf("%d", &c);
if(b == 2)
{
if(c < 1 || c > 28)
{
while(c < 1 || c > 28)
{
printf("%d월은 28일까지 입니다. 숫자를 1 ~ 28사이의 수로 입력해 주세요. \n", b);
scanf("%d", &c);
if( c > 0 && c < 29) goto yes3;
}
}
}
if(b == 1 || b == 3 || b == 5 || b == 7 || b == 8 || b == 10 || b == 12)
{
if(c < 1 || c > 31)
{
while(c < 1 || c > 31)
{
printf("%d월은 31일까지 입니다. 숫자를 1 ~ 31사이의 수로 입력해 주세요. \n", b);
scanf("%d", &c);
if( c > 0 && c < 32) goto yes3;
}
}
}
if(b == 4 || b == 6 || b == 9 || b == 11)
{
if(c < 1 || c > 30)
{
while(c < 1 || c >30)
{
printf("%d월은 30일까지 입니다. 숫자를 1 ~ 30사이의 수로 입력해 주세요. \n", b);
scanf("%d", &c);
if( c > 0 && c < 31) goto yes3;
}
}
}
/*목표날짜 시작*/
/*목표날짜 년도 입력과 검산*/
yes3 : printf("목표날짜의 년도를 입력해주세요 \n");
scanf("%d",&d);
if(d < a)
{
while(d < a)
{
printf("목표년도가 시작년도보다 작을수는 없습니다. 다시 입력해 주세요. \n");
scanf("%d", &d);
if(d > a || d == a) goto yes4;
}
}
/*목표년도 달 입력과 검산*/
yes4 : printf("목표날짜의 달를 입력해주세요 \n");
scanf("%d",&e);
if(d == a)/*목표년도와 시작년도가 같을경우의 달 검산.*/
{
if(e < b)
{
while(e < b)
{
printf("시작년도와 목표년도가 같습니다. \n");
printf("이 경우 목표년도의 달이 시작년도의 달보다 작을수는 없습니다. \n");
printf("목표년도 달을 다시 입력해 주세요. \n");
scanf("%d", &e);
if(e > b || e == b) goto yes5;
}
}
}
else
{
if(e < 1 || e > 12)
{
while(e < 1 || e > 12)
{
printf("숫자를 1 ~ 12사이의 수로 입력해 주세요 \n");
scanf("%d", &e);
if(e > 0 && e < 13) goto yes5;
}
}
}
/*목표날짜의 날짜입력과 검산*/
/*목표날짜의 계산에서 주의할점*/
/*목표날짜의 경우, 날짜간의 간격이 5일 이상이 되어야 계산이 가능하도록 할 것임.*/
/*그러나, 시작날짜짜가 월말에 가까이 와서, 간격이 5일이상이 되려면 달이 넘어가는 경우가 생김*/
yes5 : printf("목표날짜의 날짜를 입력해주세요 \n");
scanf("%d",&f);
printf("오늘날짜의 년도를 입력해주세요 \n");
scanf("%d",&g);
printf("오늘날짜의 달를 입력해주세요 \n");
scanf("%d",&h);
printf("오늘날짜의 날짜를 입력해주세요 \n");
scanf("%d",&i);
printf("시작날짜는 %d년 %d월 %d일 입니다. \n",a,b,c);
printf("목표날짜는 %d년 %d월 %d일 입니다. \n",d,e,f);
printf("오늘날짜는 %d년 %d월 %d일 입니다. \n",g,h,i);
return 0;
}