DEFICIENCIAS : La expresión de la línea 31 : if(((ano%4=0 && ano%100!=0) || ano%400=0) && mes==2) debería decir : if(((ano%4==0 && ano%100!=0) || ano%400==0) && mes==2) Por esta razón tu programa NO compila. La expresión de la línea 38 : if(mes==2) debería decir : else if(mes==2) Ya que si no tu programa falla con años bisiestos, por ejemplo con la fecha : 29/2/2000 .