#include <stdio.h>
#include <ctype.h>

int outch(char c);

main(argc, argv)
int argc;
char *argv[];
{
        FILE    *fp, *fopen();

        if (argc == 1)
            vig(stdin);
        else
            while (--argc > 0)
                if ((fp = fopen(*++argv, "r")) == NULL) {
                    fprintf(stderr,
                       "vig: can't open %s\n", *argv);
                    exit(1);
                } else  {
                    vig(fp);
                    fclose(fp);
                }
        exit(0);
}

vig(fp)
FILE *fp;
{
    char cw[100];
    char *p = cw;
    char c;

    printf("Enter codeword: ");
    fgets(cw, 100, stdin);

    while ((c = getc(fp)) != EOF)
    {
        if (*p == '\n') p = cw;

        if (isupper(c))
	{
	    outch((c - 'A' + *p - 'A') % 26 + 'A');
	    p++;
	}
    }
    printf("\n");
}

outch(char c)
{
    static ccnt = 0;

    printf("%c", c);
    ccnt++;
    if (ccnt % 5 == 0) printf(" ");
    if (ccnt % 40 == 0) printf("\n");
}



