/******************************************************************** author: Darin Brezeale date: January 30, 2008 modified by: Vassilis Athitsos date: April 1, 2010 purpose: demonstrate use of function to compare two dates in order to determine which comes first ********************************************************************/ #include #include "compare_dates.h" void cmpdates(struct date d1, struct date d2) { if (d1.year == d2.year) { if (d1.month == d2.month) { if (d1.day == d2.day) printf("the dates are the same"); else if (d1.day < d2.day) printf("used YMD -- %d/%d/%d comes before %d/%d/%d\n", d1.month, d1.day, d1.year, d2.month, d2.day, d2.year); else printf("used YMD -- %d/%d/%d comes before %d/%d/%d\n", d2.month, d2.day, d2.year, d1.month, d1.day, d1.year); } else if (d1.month < d2.month) printf("used YM -- %d/%d/%d comes before %d/%d/%d\n", d1.month, d1.day, d1.year, d2.month, d2.day, d2.year); else printf("used YM -- %d/%d/%d comes before %d/%d/%d\n", d2.month, d2.day, d2.year, d1.month, d1.day, d1.year); } else if (d1.year < d2.year) printf("used Y -- %d/%d/%d comes before %d/%d/%d\n", d1.month, d1.day, d1.year, d2.month, d2.day, d2.year); else printf("used Y -- %d/%d/%d comes before %d/%d/%d\n", d2.month, d2.day, d2.year, d1.month, d1.day, d1.year); } int main(void) { /* date 1 */ struct date d1; d1.year = 2008; d1.month = 3; d1.day = 10; struct date d2 = {4, 3, 2008}; // day, month, year; struct date d3; d3.year = 2007; d3.month = 3; d3.day = 4; cmpdates(d1, d2); cmpdates(d3, d2); cmpdates(d3, d1); }