循环出错的问题
#include<stdio.h>
#include<math.h>
void main()
{
int year,month,day,x,d,y;
printf("请输入年份");
scanf("%d",&year);
printf("请输入月份");
scanf("%d",&month);
printf("请输入日期");
scanf("%d",&day);
switch(month)
{
case 1:d=0;break;
case 2:d=31;break;
case 3:d=59;break;
case 4:d=90;break;
case 5:d=120;break;
case 6:d=151;break;
case 7:d=181;break;
case 8:d=212;break;
case 9:d=243;break;
case 10:d=273;break;
case 11:d=304;break;
case 12:d=335;break;
}
while(month>12&&month<1);
{
printf("月份不存在,请重新输入");
scanf("%d",&month);
}
if(year%4==0&&year%100!=0||year%400==0)
y=1;
else y=0;
x=d+day+y;
printf("现在日期为%d年%d月%d日 \n",year,month,day);
printf("这是一年中的第%d天 \n",x);
}
红色那段循环.就是检测限制月份为1~12.超出提示出错并且再入一次.不再范围内再次循环.但这么写只能循环一次.请问如何写正确?谢谢了