DEFICIENCIAS : La expresión de la línea 35 : if(dia==29) debería decir : if(dia<=29) La expresión de la línea 37 : else if(dia==28) debería decir : else if(dia<=28) Por esto tu programa no responde con fechas como : 12/2/2000