为什么我输入的月份不管是多少,程序运行的时候都是跟1一样

#include <stdio.h>
#include <stdlib.h>

int main()
{
int a,b,c,d,e;
scanf("%d-%d-%d",&a,&b,&c);
if(a%4==0&&a%100!=0||a%400==0)
{
switch(b)
{
case'1':d=366;break;
case'2':d=335;break;
case'3':d=306;break;
case'4':d=275;break;
case'5':d=245;break;
case'6':d=214;break;
case'7':d=184;break;
case'8':d=153;break;
case'9':d=122;break;
case'10':d=92;break;
case'11':d=61;break;
case'12':d=31;break;
}
e=d-c+1;
printf("还有%d天到新年",e);
}
else
{
switch(b)
{
case'1':d=365;break;
case'2':d=334;break;
case'3':d=306;break;
case'4':d=275;break;
case'5':d=245;break;
case'6':d=214;break;
case'7':d=184;break;
case'8':d=153;break;
case'9':d=122;break;
case'10':d=92;break;
case'11':d=61;break;
case'12':d=31;break;

    }
                 e=d-c+1;
printf("还有%d天到新年",e);
}
        return 0;

}