/**************************************************************************** function: test_2 parameters: none returns: if successful TRUE else FALSE purpose: The following code will test the days_to_date() function. ****************************************************************************/ char test_2(FILE *output) { #define DAYS_TEST_DATES 5 char status = PASS, b_date[7], e_date[7], *answer_table[DAYS_TEST_DATES]; long days, i; /* build the correct answer table */ answer_table[0] = "910101"; answer_table[1] = "910131"; answer_table[2] = "910302"; answer_table[3] = "910401"; answer_table[4] = "910501"; strcpy(b_date, "910101"); for (days = 0, i = 0; i < DAYS_TEST_DATES; days += 30, i++) { days_to_date(b_date, days, e_date); if (strcmp(e_date, answer_table[i]) != 0) { fprintf(output, "ERROR: beginning [%s] + days [%ld] = ending [%s] [%s]\n", b_date, days, e_date, answer_table[i]); status = FALSE; } } return(status); }
int main (int argc, char *argv []) { long date, time; date = date_now (); time = time_now (); printf ("Date=%ld time=%ld\n", date, time); date = days_to_date (date_to_days (date)); time = csecs_to_time (time_to_csecs (time)); printf ("Date=%ld time=%ld\n", date, time); date = date_now (); time = time_now (); date = days_to_date (date_to_days (date)); time = csecs_to_time (time_to_csecs (time)); future_date (&date, &time, 0, INTERVAL_HOUR); printf ("Date in one hour = %ld, %ld\n", date, time); date = date_now (); time = time_now (); future_date (&date, &time, 0, INTERVAL_DAY); printf ("Date in one day = %ld, %ld\n", date, time); date = date_now (); time = time_now (); future_date (&date, &time, 1, 0); printf ("Date in one day = %ld, %ld\n", date, time); date = date_now (); time = time_now (); future_date (&date, &time, 7, 0); printf ("Date in one week = %ld, %ld\n", date, time); date = date_now (); time = time_now (); future_date (&date, &time, 365, 0); printf ("Date in one year = %ld, %ld\n", date, time); return (EXIT_SUCCESS); }
int main() { int days, d, m, y; while (true) { scanf("%d%d%d%d", &days, &d, &m, &y); if (y == 0) break; int x = date_to_days(d, m, y); days_to_date(x + days, d, m, y); printf("%d %d %d\n", d, m, y); } return 0; }