The Funny Side

12days.c

#include

#define DEFAULT_HOLIDAY "CHRISTMAS/CHANUKAH"
#define DAYS_OF_NEGLECT 12

char heading[] = "AN ELECTRONIC %s CARD TO ALL\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);
}

Author unknown.