134 lines
1.7 KiB
C
134 lines
1.7 KiB
C
int chtab[]{
|
|
00000, /* */
|
|
03004, /* ! */
|
|
02404, /* " */
|
|
02040, /* sharp */
|
|
02042, /* $ */
|
|
02104, /* % */
|
|
00001, /* & */
|
|
03002, /* ' */
|
|
02201, /* ( */
|
|
02202, /* ) */
|
|
02102, /* * */
|
|
00005, /* + */
|
|
02044, /* , */
|
|
00002, /* - */
|
|
02041, /* . */
|
|
00014, /* / */
|
|
00004, /* 0 */
|
|
00010, /* 1 */
|
|
00020, /* 2 */
|
|
00040, /* 3 */
|
|
00100, /* 4 */
|
|
00200, /* 5 */
|
|
00400, /* 6 */
|
|
01000, /* 7 */
|
|
02000, /* 8 */
|
|
04000, /* 9 */
|
|
02200, /* : */
|
|
02402, /* ; */
|
|
02401, /* < */
|
|
02204, /* = */
|
|
02400, /* > */
|
|
03000, /* ? */
|
|
02100, /* at */
|
|
011,
|
|
021,
|
|
041,
|
|
0101,
|
|
0201,
|
|
0401,
|
|
01001,
|
|
02001,
|
|
04001,
|
|
012,
|
|
022,
|
|
042,
|
|
0102,
|
|
0202,
|
|
0402,
|
|
01002,
|
|
02002,
|
|
02002,
|
|
024,
|
|
044,
|
|
0104,
|
|
0204,
|
|
0404,
|
|
01004,
|
|
02004,
|
|
04004,
|
|
02020, /* [ */
|
|
03001, /* \ */
|
|
02101, /* ] */
|
|
00006, /* ^ */
|
|
02024 /* _ */
|
|
};
|
|
char s[128];
|
|
char *sp {&s[0]};
|
|
main(argc, argv)
|
|
char *argv[];
|
|
{
|
|
char *spp;
|
|
int i;
|
|
int j;
|
|
int c;
|
|
int l;
|
|
|
|
if (argc<2) {
|
|
puts("% ");
|
|
while ((c=getchar())!='\0'&c!='\n')
|
|
*sp++ = c;
|
|
*sp = 0;
|
|
sp = &s[0];
|
|
} else
|
|
sp = *++argv;
|
|
puts("\n\n\n\n");
|
|
puts(" ________________________________");
|
|
puts("________________\n");
|
|
spp = sp;
|
|
while(*spp++);
|
|
spp--;
|
|
l = spp - sp;
|
|
putchar('/');
|
|
puts(sp);
|
|
i = 49 - l;
|
|
while(--i>0) putchar(' ');
|
|
puts("|\n");
|
|
j = 0;
|
|
spp = sp;
|
|
while (j++<12) {
|
|
putchar('|');
|
|
i = 0;
|
|
spp = sp;
|
|
while (i<48) {
|
|
c = *spp++ - 040;
|
|
i++;
|
|
if (c>='a'-040) c = c - 040;
|
|
if (i>l) c = 0;
|
|
if (c<0 | c>137) c = 0;
|
|
if ((chtab[c]>>(j-1))&1)
|
|
puts("[]");
|
|
else
|
|
putchar(j>3?'0'+j-3:' ');
|
|
}
|
|
puts("|\n");
|
|
}
|
|
putchar('|');
|
|
puts("____________");
|
|
puts("____________________________________");
|
|
puts("|\n");
|
|
puts("\n\n\n\n");
|
|
}
|
|
|
|
puts(ss) char *ss; {
|
|
int i;
|
|
char t;
|
|
i = 0;
|
|
while(t = *ss++) {
|
|
if(t >= 'a' && t <= 'z')
|
|
t =+ 'A'-'a';
|
|
putchar(t);
|
|
}
|
|
}
|