根据用户选择实现日期天数互转的代码问题

在代码第一部分运行日期转换天数的时候没有问题,但第二部分天数转日期的时候运行报错

#include
int main()
{
    int a;
    printf("请选择你想要的转换类型(输入1或2):\n1.日期转换成天数;\n2.指定年份和第几天求出日期。\n");
    scanf("%d",&a);
    if(a==1)
{
    int n,y,r,x=0;
    printf("请输入年\n");
    scanf("%d",&n);
    printf("月 \n");
    scanf("%d",&y);
    printf("日 \n");
    scanf("%d",&r);
    switch(y-1)
    {
        case 11:x+=30;
        case 10:x+=31;
        case 9:x+=30;
        case 8:x+=31;
        case 7:x+=31;
        case 6:x+=30;
        case 5:x+=31;
        case 4:x+=30;
        case 3:x+=31;
        case 2:
        if((n%4==0&&n%100!=0)||n%400==0)
            {
           x+=29;
        }
        else
            {
           x+=28;
        }
        case 1:x+=31;
        case 0:x=x;
    }
    x+=r;
    printf("该日期是%d年的第%d天",n,x);
}
else(a==2){
        int n,r;
        printf("请输入年\n");
        scanf("%d",&n);
        printf("天数\n");
        scanf("%d",&r);
            if((n%4==0&&n%100!=0)||n%400==0)
            {
                 if(r<=31)
                 {
                 y=1;
                 m=r;
                 }
                 else if(31y=2;
                 m=r-31;
                 }
                 else if(60y=3;
                 m=r-60;
                 }
                 else if(91y=4;
                 m=r-91;
                 }
                 else if(121y=5;
                 m=r-121;
                 }
                 else if(152y=6;
                 m=r-152;
                 }
                 else if(182y=7;
                 m=r-182;
                 }
                 else if(213y=8;
                 m=r-213;
                 }
                 else if(244y=9;
                 m=r-244;
                 }
                 else if(274y=10;
                 m=r-274;
                 }
                 else if(305y=11;
                 m=r-305;
                 }
                 else if(335y=12;
                 m=r-335;
                 }
                 printf("日期为%d月%d日%d\n",y,m);
      }
            else if(!(n%4==0&&n%100!=0)||n%400==0)
      {
                 if(r<=31)
                 {
                 y=1;
                 m=r;
                 }
                 else if(31y=2;
                 m=r-31;
                 }
                 else if(59y=3;
                 m=r-59;
                 }
                 else if(90y=4;
                 m=r-90;
                 }
                 else if(120y=5;
                 m=r-120;
                 }
                 else if(151y=6;
                 m=r-151;
                 }
                 else if(181y=7;
                 m=r-181;
                 }
                 else if(212y=8;
                 m=r-212;
                 }
                 else if(243y=9;
                 m=r-243;
                 }
                 else if(273y=10;
                 m=r-273;
                 }
                 else if(304y=11;
                 m=r-304;
                 }
                 else if(334y=12;
                 m=r-334;
                 }
                 printf("日期为%d月%d日%d\n",y,m);
}
}
}
    return 0;
}

这里是运行结果及报错内容

img

共八处报错

希望可以得到解决,使程序顺利运行w

else(a==2)
改为:
else if(a==2)
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632