Los cases no necesitan corchetes.
El problema es que has repetido un condicional dos veces:
Código C:
Ver originalif(y%4==0 && d<30 && d>0){
printf("La fecha es valida en feb"); }
Aquí digo que falla=> if (y%4!=0 && d<29 && d>0){
printf("La fecha es valida feb"); }
Quedaría algo así:
Código C:
Ver originalif(y%4==0 && d<30 && d>0)
{
printf("La fecha es valida en feb"); }
else
{
printf("La fecha no es valida en feb"); }