/* Programmed by Kurt Nørmark, March 2003 */ #include enum month {jan = 1, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec}; typedef enum month month; month previous_month(month m){ int result; if (m == 1) result = 12; else result = m - 1; return (month)result; } void prnt_month(month m){ switch (m) { case jan: printf("January"); break; case feb: printf("February"); break; case mar: printf("March"); break; case apr: printf("April"); break; case may: printf("May"); break; case jun: printf("June"); break; case jul: printf("July"); break; case aug: printf("August"); break; case sep: printf("September"); break; case oct: printf("October"); break; case nov: printf("November"); break; case dec: printf("December"); break; } } int main(void){ month m; int i; for(m = dec, i = 1; i <= 12; m = previous_month(m), i++){ prnt_month(m); printf("\n"); } }