#include enum days {sunday, monday, tuesday, wednesday, thursday, friday, saturday}; typedef enum days days; days next_day_of(days d){ return ( days ) (((int) d + 1) % 7); } /* Return the symbolic name of day d */ char *print_name_of_day(days d){ char *result; switch (d) { case sunday: result = "Sunday"; break; case monday: result = "Monday"; break; case tuesday: result = "Tuesday"; break; case wednesday: result = "Wednesday"; break; case thursday: result = "Thursday"; break; case friday: result = "Friday"; break; case saturday: result = "Saturday"; break; } return result; } int main(void){ days day1 = saturday, another_day; int i; printf("Day1 is %d\n", day1); printf("Day1 is also %s\n", print_name_of_day(day1)); another_day = day1; for(i = 1; i <= 3; i++) another_day = next_day_of(another_day); printf("Three days after day1: %s", print_name_of_day(another_day)); printf("\n"); return 0; }