Advertisement
Guest User

Untitled

a guest
Dec 18th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.78 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. //
  4. // Calculates the exact age of sombody or somthing
  5. // currently assumes leap years do not exsist.
  6. // y_* = year
  7. // m_* = month
  8. // d_* = day
  9. //
  10.  
  11. int main() {
  12.  
  13. // finds date of birth and current date
  14. int m_bday, d_bday, y_bday, m_now, d_now, y_now;
  15. printf("Enter your Date of Birth\nMM/DD/YYYY\n");
  16. scanf("%d/%d/%d",&m_bday,&d_bday,&y_bday);
  17. printf("Enter the current date\n");
  18. scanf("%d/%d/%d",&m_now,&d_now,&y_now);
  19. // number of days of previous month
  20. int mdays;  //days in current month
  21. int pmdays; //days in previous month
  22. int bmdays; // days in birthday month
  23. int feb;    // days in febuary
  24. int day;    // final result for day
  25. int month;  // final result for month
  26. int year;   // final result for year
  27.  
  28. // leap year
  29. int leap;   // divisable by 4
  30. int leap_2; // divisable by 100
  31. int leap_3; // divisable by 400
  32. leap = y_now % 4;
  33. leap_2 = y_now % 100;
  34. leap_3 = y_now % 400;
  35.  
  36. if ( leap == 0 && ( (leap_2 != 0) || leap_3 == 0 ))  {
  37.     feb = 29;
  38. }
  39. else {
  40.     feb = 28;
  41. }
  42.  
  43. // days in previous month
  44. if ( m_now == 1,2,4,6,8,9,11 ) {pmdays = 31;}
  45. if ( m_now == 5,7,10,12 ) {pmdays = 30;}
  46. if ( m_now == 3 ) {pmdays = feb;}
  47. // days in current month
  48. if ( m_now == 1,3,5,7,8,10,12 ) {mdays = 31;}
  49. if ( m_now == 4,6,9,11 ) {mdays = 30;}
  50. if ( m_now == 2) {mdays = feb;}
  51. // days in birthday month
  52. if ( m_bday == 1,2,4,6,8,9,11 ) {bmdays = 31;}
  53. if ( m_bday == 5,7,10,12) {bmdays = 30;}
  54. if ( m_bday == 2) {bmdays = feb;}
  55.  
  56. // checks to see if date is valid
  57. if ( d_bday > bmdays || m_now > mdays ||  m_bday > 12 || m_now > 12) {
  58.     printf("invalid date.\n");
  59.     return 0;
  60. }
  61. // days
  62. if ( d_now >= d_bday ) {
  63.     day = d_now-d_bday;
  64.     if ( m_now >= m_bday) {
  65.         month = m_now-m_bday;
  66.         if ( y_now >= y_bday) {
  67.             year = y_now-y_bday;
  68.         }
  69.         else {
  70.             printf("you are not alive\n");
  71.             return 0;
  72.         }
  73.     }
  74.     else {
  75.         month = 12-m_bday+m_now;
  76.         if ( y_now > y_bday) {
  77.             year = y_now-y_bday-1;
  78.         }
  79.         else {
  80.             printf("you are not alive\n");
  81.             return 0;
  82.         }
  83.     }
  84. }
  85. else {
  86.     day = pmdays-d_bday+d_now+1;
  87.     if ( m_now > m_bday) {
  88.         month = m_now-m_bday-1;
  89.         if ( y_now >= y_bday ) {
  90.             year = y_now-y_bday;
  91.         }
  92.         else {
  93.             printf("you are not alive\n");
  94.             return 0;
  95.         }
  96.     }
  97.     else {
  98.         month = 11-m_bday+m_now;
  99.         if ( y_now > y_bday ) {
  100.             year = (y_now-y_bday)-1;
  101.  
  102.         }
  103.         else {
  104.             printf("you are not alive.\n");
  105.             return 0;
  106.         }
  107.  
  108.     }
  109.  
  110.  
  111. }  
  112.  
  113.  
  114.  
  115.  
  116. printf("%d years, %d months, and %d days.\n",year,month,day);
  117. }
  118. int dead() {
  119.     printf("you are not alive");
  120.     return 0;
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement