DEFICIENCIAS :

A la expresión :

	if(d>31 || d==0)
		printf("fecha no valida");
		flag=1;

 se te "olvidó" colocarle llaves, en varias ocasiones durante el programa programa.


La expresión :

	else
		printf("\n\"NO ESTA EN EL RANGO LA FECHA INGRESADA\"");

 debería estar una llave antes de la que está, ya que si se ingresa un año menor
 que 1800 o mayor que 2010 tu programa no responde.


 La expresión de la línea 24 : if(d>28 || d==0){
 debería decir :               else if(d>28 || d==0){

  Ya que si no tu programa falla con años bisiestos, por ejemplo con la fecha : 
 29/2/2000 .