Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- //
- // Calculates the exact age of sombody or somthing
- // currently assumes leap years do not exsist.
- // y_* = year
- // m_* = month
- // d_* = day
- //
- int main() {
- // finds date of birth and current date
- int m_bday, d_bday, y_bday, m_now, d_now, y_now;
- printf("Enter your Date of Birth\nMM/DD/YYYY\n");
- scanf("%d/%d/%d",&m_bday,&d_bday,&y_bday);
- printf("Enter the current date\n");
- scanf("%d/%d/%d",&m_now,&d_now,&y_now);
- // number of days of previous month
- int mdays; //days in current month
- int pmdays; //days in previous month
- int bmdays; // days in birthday month
- int feb; // days in febuary
- int day; // final result for day
- int month; // final result for month
- int year; // final result for year
- // leap year
- int leap; // divisable by 4
- int leap_2; // divisable by 100
- int leap_3; // divisable by 400
- leap = y_now % 4;
- leap_2 = y_now % 100;
- leap_3 = y_now % 400;
- if ( leap == 0 && ( (leap_2 != 0) || leap_3 == 0 )) {
- feb = 29;
- }
- else {
- feb = 28;
- }
- // days in previous month
- if ( m_now == 1,2,4,6,8,9,11 ) {pmdays = 31;}
- if ( m_now == 5,7,10,12 ) {pmdays = 30;}
- if ( m_now == 3 ) {pmdays = feb;}
- // days in current month
- if ( m_now == 1,3,5,7,8,10,12 ) {mdays = 31;}
- if ( m_now == 4,6,9,11 ) {mdays = 30;}
- if ( m_now == 2) {mdays = feb;}
- // days in birthday month
- if ( m_bday == 1,2,4,6,8,9,11 ) {bmdays = 31;}
- if ( m_bday == 5,7,10,12) {bmdays = 30;}
- if ( m_bday == 2) {bmdays = feb;}
- // checks to see if date is valid
- if ( d_bday > bmdays || m_now > mdays || m_bday > 12 || m_now > 12) {
- printf("invalid date.\n");
- return 0;
- }
- // days
- if ( d_now >= d_bday ) {
- day = d_now-d_bday;
- if ( m_now >= m_bday) {
- month = m_now-m_bday;
- if ( y_now >= y_bday) {
- year = y_now-y_bday;
- }
- else {
- printf("you are not alive\n");
- return 0;
- }
- }
- else {
- month = 12-m_bday+m_now;
- if ( y_now > y_bday) {
- year = y_now-y_bday-1;
- }
- else {
- printf("you are not alive\n");
- return 0;
- }
- }
- }
- else {
- day = pmdays-d_bday+d_now+1;
- if ( m_now > m_bday) {
- month = m_now-m_bday-1;
- if ( y_now >= y_bday ) {
- year = y_now-y_bday;
- }
- else {
- printf("you are not alive\n");
- return 0;
- }
- }
- else {
- month = 11-m_bday+m_now;
- if ( y_now > y_bday ) {
- year = (y_now-y_bday)-1;
- }
- else {
- printf("you are not alive.\n");
- return 0;
- }
- }
- }
- printf("%d years, %d months, and %d days.\n",year,month,day);
- }
- int dead() {
- printf("you are not alive");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement