DEFICIENCIAS : La expresión de la línea 29 : if(mes==1 || mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12 || dia==31) debería decir : if((mes==1 || mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12) && dia<=31) La expresión de la línea 29 : else if(mes==4 || mes==6 || mes==9 || mes==11 || dia==30) debería decir : else if((mes==4 || mes==6 || mes==9 || mes==11) && dia<=30) No preguntas por año bisiesto.