View Single Post
Join Date: Nov 2008
Posts: 5
Reputation: blacklight332 is an unknown quantity at this point 
Solved Threads: 0
blacklight332 blacklight332 is offline Offline
Newbie Poster

Re: C++ / MFC Date Validation

 
0
  #4
Mar 3rd, 2009
C works in MFC right? (sprintf/sscanf)
  1. int main(int argc, char*argv[])
  2. {
  3. int m,d,y;
  4. sscanf("%d/%d/%d", &m, &d, &y);
  5. if (checkdate(m,d,y))
  6. {
  7. printf("valid\n");
  8. }
  9. else
  10. {
  11. printf("invalid\n");
  12. }
  13. }
  14.  
  15.  
  16. bool checkdate(int m, int d, int y)
  17. {
  18. //gregorian dates started in 1582
  19. if (! (1582<= y ) )//comment these 2 lines out if it bothers you
  20. return false;
  21. if (! (1<= m && m<=12) )
  22. return false;
  23. if (! (1<= d && d<=31) )
  24. return false;
  25. if ( (d==31) && (m==2 || m==4 || m==6 || m==9 || m==11) )
  26. return false;
  27. if ( (d==30) && (m==2) )
  28. return false;
  29. if ( (m==2) && (d==29) && (y%4!=0) )
  30. return false;
  31. if ( (m==2) && (d==29) && (y%400==0) )
  32. return true;
  33. if ( (m==2) && (d==29) && (y%100==0) )
  34. return false;
  35. if ( (m==2) && (d==29) && (y%4==0) )
  36. return true;
  37.  
  38. return true;
  39. }
Last edited by blacklight332; Mar 3rd, 2009 at 10:28 pm.
Reply With Quote