home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / EZY110-1.ARJ / STRUCT.ARJ / CLIB.ARJ / DATE1.CPP < prev    next >
C/C++ Source or Header  |  1995-03-28  |  801b  |  21 lines

  1. #include <ezycom.h>
  2.  
  3. /**********************************************************
  4.  * Check for a valid date
  5.  *
  6.  * Returns 1 if a valid date and 0 if not.
  7.  *
  8.  * eg: if(!checkdate(1992,1,1)) do_nothing();
  9.  **********************************************************/
  10. int CheckDate(word yy, word mm, word dd)
  11. {
  12.     int days[] = {31,29,31,30,31,30,31,31,30,31,30,31};
  13.  
  14.     if( mm < 1 || mm > 12) return(0);                        /* Invalid Month */
  15.     if( dd < 1 || dd > days[mm-1]) return(0);                /* Invalid Day */
  16.     if(yy < 1900) return(0);                                 /* Your to Old */
  17.     if(((yy%4) != 0) && (dd == 29) &&  (mm == 2)) return(0); /* Tryin to fool me */
  18.  
  19.     return(1);                                               /* Everything must be valid */
  20. }
  21.