Para que no hagas tantos if.
#include <stdio.h>
int main()
{
char listameses[][11]={"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"};
int dia, mes, año;
puts("Introduce un dia: "); puts("Introduce un mes: "); puts("Introduce un año: "); /* Puedes saltarte el siguiente control de errores */
if(mes>12 || dia<1 || ((mes<6 && mes%2==1) && dia>31) || ((mes<6 && mes%2==0 && mes!=2) && dia>30) || (mes==2 && dia>28 && año%4!=0) || (mes==2 && dia>29 && año%4==0) || ((mes>6 && mes%2==0) && dia>31) || ((mes>6 && mes%2==1) && dia>31))
{
puts("Introduce los datos correctamente\n"); return 1;
}
printf("%i de %s de %i\n", dia
, listameses
[mes
-1], año
); return 0;
}
Sa1uDoS