Annotation of researchv10no/games/bcd.c, revision 1.1.1.1

1.1       root        1: #include <stdio.h>
                      2: 
                      3: int chtab[] = {
                      4: 00000, /*   */
                      5: 03004, /* ! */
                      6: 02404, /* " */
                      7: 02040, /* sharp */
                      8: 02042, /* $ */
                      9: 02104, /* % */
                     10: 00001, /* & */
                     11: 03002, /* ' */
                     12: 02201, /* ( */
                     13: 02202, /* ) */
                     14: 02102, /* * */
                     15: 00005, /* + */
                     16: 02044, /* , */
                     17: 00002, /* - */
                     18: 02041, /* . */
                     19: 00014, /* / */
                     20: 00004, /* 0 */
                     21: 00010, /* 1 */
                     22: 00020, /* 2 */
                     23: 00040, /* 3 */
                     24: 00100, /* 4 */
                     25: 00200, /* 5 */
                     26: 00400, /* 6 */
                     27: 01000, /* 7 */
                     28: 02000, /* 8 */
                     29: 04000, /* 9 */
                     30: 02200, /* : */
                     31: 02402, /* ; */
                     32: 02401, /* < */
                     33: 02204, /* = */
                     34: 02400, /* > */
                     35: 03000, /* ? */
                     36: 02100, /* at */
                     37:  011,
                     38:  021,
                     39:  041,
                     40: 0101,
                     41: 0201,
                     42: 0401,
                     43: 01001,
                     44: 02001,
                     45: 04001,
                     46: 012,
                     47: 022,
                     48: 042,
                     49: 0102,
                     50: 0202,
                     51: 0402,
                     52: 01002,
                     53: 02002,
                     54: 04002,
                     55: 024,
                     56: 044,
                     57: 0104,
                     58: 0204,
                     59: 0404,
                     60: 01004,
                     61: 02004,
                     62: 04004,
                     63: 02020, /* [ */
                     64: 03001, /* \ */
                     65: 02101, /* ] */
                     66: 00006, /* ^ */
                     67: 02024 /* _ */
                     68: };
                     69:        char s[128];
                     70: 
                     71: char *sp = s;
                     72: 
                     73: main(argc, argv)
                     74: char *argv[];
                     75: {
                     76:        char *spp;
                     77:        int i;
                     78:        int j;
                     79:        int c;
                     80:        int l;
                     81: 
                     82:        if (argc<2) {
                     83:                puts("$ ");
                     84:                while ((c = getchar()) != EOF && c != '\n')
                     85:                        *sp++ = c;
                     86:                *sp = 0;
                     87:                sp = &s[0];
                     88:        } else
                     89:                sp = *++argv;
                     90:        puts("\n\n\n\n");
                     91:        puts(" ________________________________");
                     92:        puts("________________\n");
                     93:        spp = sp;
                     94:        while(*spp++);
                     95:        spp--;
                     96:        l = spp - sp;
                     97:        putchar('/');
                     98:        puts(sp);
                     99:        i = 49 - l;
                    100:        while(--i>0) putchar(' ');
                    101:        puts("|\n");
                    102:        j = 0;
                    103:        spp = sp;
                    104:        while (j++<12) {
                    105:                putchar('|');
                    106:                i = 0;
                    107:                spp = sp;
                    108:                while (i<48) {
                    109:                        c = *spp++ - 040;
                    110:                        i++;
                    111:                        if (c>='a'-040) c = c - 040;
                    112:                        if (i>l) c = 0;
                    113:                        if (c<0 || c>137) c = 0;
                    114:                        if ((chtab[c]>>(j-1))&1) 
                    115:                                puts("[\b]");
                    116:                        else
                    117:                                putchar(j>3?'0'+j-3:' ');
                    118:                }
                    119:                puts("|\n");
                    120:        }
                    121:        putchar('|');
                    122:        puts("____________");
                    123:        puts("____________________________________");
                    124:        puts("|\n");
                    125:        puts("\n\n\n\n");
                    126: }
                    127: 
                    128: puts(ss) char *ss; {
                    129:        char t;
                    130:        while(t = *ss++) {
                    131:                if(t >= 'a' && t <= 'z')
                    132:                        t += 'A'-'a';
                    133:                putchar(t);
                    134:        }
                    135: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.