em mới học lập trình nên hơi gà ạ có gì các bác chỉ bảo

đây là đề bài : nhập vào tháng và năm cho biết tháng đó có bn ngày?
Code:
//nhap ngay thang nam cho biet thang co bao nhieu ngay?
#include<stdio.h>
#include<conio.h>
main()
{
int thang;
int nam;
printf("nhap vao nam : ");
scanf("%d",&nam);
printf("nhap vao thang : ");
scanf("%d",&thang);
if((nam%4==0)^((nam/100)%4==0))
switch(thang)
{
case 1 : printf("31 ngay");break;
case 2 : printf("29 ngay");break;
case 3 : printf("31 ngay");break;
case 4 : printf("30 ngay");break;
case 5 : printf("31 ngay");break;
case 6 : printf("30 ngay");break;
case 7 : printf("31 ngay");break;
case 8 : printf("31 ngay");break;
case 9 : printf("30 ngay");break;
case 10 : printf("31 ngay");break;
case 11 : printf("30 ngay");break;
case 12 : printf("31 ngay");break;
}
else
switch(thang)
{
case 1 : printf("31 ngay");break;
case 2 : printf("28 ngay");break;
case 3 : printf("31 ngay");break;
case 4 : printf("30 ngay");break;
case 5 : printf("31 ngay");break;
case 6 : printf("30 ngay");break;
case 7 : printf("31 ngay");break;
case 8 : printf("31 ngay");break;
case 9 : printf("30 ngay");break;
case 10 : printf("31 ngay");break;
case 11 : printf("30 ngay");break;
case 12 : printf("31 ngay");break;
}
getch();
}