#include <stdio.h>
int main(void)
{
int gatu,niti,gatu2,niti2;
printf("2011年何月何日のデータを入力しますか?\n");
printf("月>>>>>>");
do{
scanf("%d",&gatu);
if((gatu<1) || (gatu>12))
printf("1から12までの値を入力してください\n");
}while((gatu<1) || (gatu>12));
printf("日>>>>>>");
do{
scanf("%d",&niti);
if(((niti<=0)||(niti>31))&&((gatu==1)||(gatu==3)||(gatu==5)||(gatu==7)||(gatu==8)||(gatu==10)||(gatu==12)))
printf("1から31までの値を入力してください\n");
else if(((niti<=0)||(niti>30))&&((gatu==4)||(gatu==6)||(gatu==9)||(gatu==11)))
printf("1から30までの値を入力してください\n");
else if((niti<=0)||(niti>28)&&(gatu==2))
printf("1から28までの値を入力してください\n");
}while((((niti<=0)||(niti>31))&&((gatu==1)||(gatu==3)||(gatu==5)||(gatu==7)||(gatu==8)||(gatu==10)||(gatu==11)||(gatu==12)))||(((niti<=0)||(niti>30))&&((gatu==4)||(gatu==6)||(gatu==9)||(gatu==11)))||((niti<=0)||(niti>28)&&(gatu==2)));
printf("2011年%d月%d日から何月何日までのデータを入力しますか?(2011年12月31日まで)\n", gatu, niti);
printf("月>>>>>>");
do{
scanf("%d",&gatu2);
if((gatu2<gatu) || (gatu2>12))
printf("%dから12までの値を入力してください\n",gatu);
}while((gatu2<gatu) || (gatu2>12));
printf("日>>>>>>");
do{
scanf("%d",&niti2);
if(((niti2<=niti)||(niti2>31))&&((gatu2==1)||(gatu2==3)||(gatu2==5)||(gatu2==7)||(gatu2==8)||(gatu2==10)||(gatu2==12)))
{
if(gatu==gatu2)
printf("%dから31までの値を入力してください\n",niti+1);
else if(gatu!=gatu2)
{
if((niti2<=0)||(niti2>31))
printf("1から31までの値を入力してください\n");
}
}
else if(((niti2<=niti)||(niti2>30))&&((gatu2==4)||(gatu2==6)||(gatu2==9)||(gatu2==11)))
{
if(gatu==gatu2)
printf("%dから30までの値を入力してください\n",niti+1);
else if(gatu!=gatu2)
{
if((niti2<=0)||(niti2>30))
printf("1から30までの値を入力してください\n");
}
}
else if(((niti2<=niti)||(niti2>28))&&(gatu2==2))
{
if(gatu==gatu2)
printf("%dから28までの値を入力してください\n",niti+1);
else if(gatu!=gatu2)
{
if((niti2<=0)||(niti2>28))
printf("1から28までの値を入力してください\n");
}
}
}while((((niti2<=niti)||(niti2>31))&&((gatu2==1)||(gatu2==3)||(gatu2==5)||(gatu2==7)||(gatu2==8)||(gatu2==10)||(gatu2==12)))||(((niti2<=niti)||(niti2>30))&&((gatu2==4)||(gatu2==6)||(gatu2==9)||(gatu2==11)))||(((niti2<=niti)||(niti2>28))&&(gatu2==2)));
printf("%d %d %d %d\n",gatu,niti,gatu2,niti);
return 0;
}