/* AN ELECTRONIC CHRISTMAS/CHANUKAH CARD TO ALL Lyrics: Evan Leibovitch <evan@telly.on.ca> Code: Beverly Erlebacher <erlebach@cs.toronto.edu> Written: December 1989 This code is in the public domain. */ #include <stdio.h> #define DEFAULT_HOLIDAY "CHRISTMAS/CHANUKAH" #define DAYS_OF_NEGLECT 12 char heading[] = "AN ELECTRONIC %s CARD TO ALL\n\n\ Lyrics: Evan Leibovitch <evan@telly.on.ca>\n\ Code: Beverly Erlebacher <erlebach@cs.toronto.edu>\n\n\ Dedicated to Dave Mason, Chris Siebenmann, and anyone who's left\n\ their computers alone just long enough for them to self-destruct:\n\n\ (Sung to the tune of something or other...)\n\n"; char * cardinal[] = {"And a", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve"}; char * ordinal[] = {"first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth", "eleventh", "twelfth", "thirteenth"}; char * item[] = { "burnt-out V.D.T.", "faulty tapes;", "heads crashed;", "bad blocks;", "core dumps;", "bad controllers; ", "blown partitions;", "gettys dying;", "floppies frying;", "ports a-jamming;", "chips a-smoking;", "boards a-blowing;" }; char daystr[] = "\nOn the %s day I left it, my Unix gave to me:\n"; char finale[] = "\nOn the %s day I started adapting my Nintendo for the VME bus.\n"; main(argc, argv) int argc; char *argv[]; { int i, j; printf(heading, argc > 1 ? argv[1] : DEFAULT_HOLIDAY); for (i = 0; i < DAYS_OF_NEGLECT; i++) { printf(daystr, ordinal[i]); if (i == 0) printf("\tA %s\n", item[i]); else for (j = i; j >= 0; j--) printf("\t%s %s\n", cardinal[j], item[j]); } printf(finale, ordinal[DAYS_OF_NEGLECT]); exit(0); }
(From the "Rest" of RHF)