home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume26 / banners-1.1 / part01 / banner-05 / seb.c < prev   
C/C++ Source or Header  |  1993-04-11  |  3KB  |  276 lines

  1. /* seb : Small English Banner
  2.  *
  3.  * Who the heck wrote original Pascal version?
  4.  *
  5.  * C version by Han, Yun-Su
  6.  * 880505 KAIST undergraduate Dept of Life Science
  7.  */
  8.  
  9. #include <stdio.h>
  10.  
  11. main(argc, argv)
  12. int argc;
  13. char **argv;
  14. {
  15.     char line[256];
  16.  
  17.     if (argc < 2)    {
  18.         fprintf(stderr, "&:^)\n");
  19.         exit(1);
  20.         }
  21.     getline(line, argc, argv);
  22.     putline(line);
  23. }
  24.  
  25. getline(s, n, v)
  26. char *s;
  27. int n;
  28. char *v[];
  29. {
  30.     int i, j;
  31.  
  32.     strcpy(s, "");
  33.     for (i = 1; i < n; i++, s++)    {
  34.         for (j = 0; v[i][j] != '\0'; j++, s++)
  35.             *s = v[i][j];
  36.         *s = ' ';
  37.         }
  38.     s--;
  39.     *s = '\0';
  40. }
  41.  
  42. #define    Height        4    /* Height of Font */
  43. #define    Blank        "     "
  44. putline(s)
  45. char *s;
  46. {
  47.     static char *upper[] = {
  48.         "     ",
  49.         "  /\\ ",
  50.         " /--\\",
  51.         "     ",
  52.         "  _ ",
  53.         " |_)",
  54.         " |_)",
  55.         "    ",
  56.         "  __",
  57.         " /  ",
  58.         " \\__",
  59.         "    ",
  60.         "  _ ",
  61.         " | \\",
  62.         " |_/",
  63.         "    ",
  64.         "  __",
  65.         " |_ ",
  66.         " |__",
  67.         "    ",
  68.         "  __",
  69.         " |_ ",
  70.         " |  ",
  71.         "    ",
  72.         "  _ ",
  73.         " / _",
  74.         " \\_|",
  75.         "    ",
  76.         "    ",
  77.         " |_|",
  78.         " | |",
  79.         "    ",
  80.         "  ",
  81.         " |",
  82.         " |",
  83.         "  ",
  84.         "    ",
  85.         "   |",
  86.         " |_|",
  87.         "    ",
  88.         "    ",
  89.         " |_/",
  90.         " | \\",
  91.         "    ",
  92.         "    ",
  93.         " |  ",
  94.         " |__",
  95.         "    ",
  96.         "       ",
  97.         " |\\  /|",
  98.         " | \\/ |",
  99.         "       ",
  100.         "     ",
  101.         " |\\ |",
  102.         " | \\|",
  103.         "     ",
  104.         "  _ ",
  105.         " / \\",
  106.         " \\_/",
  107.         "    ",
  108.         "  _ ",
  109.         " |_)",
  110.         " |  ",
  111.         "    ",
  112.         "  _ ",
  113.         " / \\",
  114.         " \\_\\",
  115.         "    ",
  116.         "  _ ",
  117.         " |_)",
  118.         " | \\",
  119.         "    ",
  120.         "  _ ",
  121.         " (_ ",
  122.         "  _)",
  123.         "    ",
  124.         " ___",
  125.         "  | ",
  126.         "  | ",
  127.         "    ",
  128.         "     ",
  129.         " |  |",
  130.         " |__|",
  131.         "     ",
  132.         "     ",
  133.         " \\  /",
  134.         "  \\/ ",
  135.         "     ",
  136.         "       ",
  137.         " \\    /",
  138.         "  \\/\\/ ",
  139.         "       ",
  140.         "    ",
  141.         " \\_/",
  142.         " / \\",
  143.         "    ",
  144.         "    ",
  145.         " \\_/",
  146.         "  | ",
  147.         "    ",
  148.         " __",
  149.         "  /",
  150.         " /_",
  151.         "   ",
  152.         ""
  153.         };
  154.     static char *lower[] = {
  155.         "    ",
  156.         "  _ ",
  157.         " (_|",
  158.         "    ",
  159.         "    ",
  160.         " |_ ",
  161.         " |_)",
  162.         "    ",
  163.         "   ",
  164.         "  _",
  165.         " (_",
  166.         "   ",
  167.         "    ",
  168.         "  _|",
  169.         " (_|",
  170.         "    ",
  171.         "   ",
  172.         "  _",
  173.         " (=",
  174.         "   ",
  175.         "   _",
  176.         " _|_",
  177.         "  | ",
  178.         "    ",
  179.         "    ",
  180.         "  _ ",
  181.         " (_|",
  182.         "  _/",
  183.         "    ",
  184.         " |_ ",
  185.         " | |",
  186.         "    ",
  187.         "  ",
  188.         " .",
  189.         " |",
  190.         "  ",
  191.         "   ",
  192.         "  .",
  193.         "  |",
  194.         " _/",
  195.         "   ",
  196.         " |_",
  197.         " |\\",
  198.         "   ",
  199.         "  ",
  200.         " |",
  201.         " |",
  202.         "  ",
  203.         "      ",
  204.         "  _ _ ",
  205.         " | | |",
  206.         "      ",
  207.         "    ",
  208.         "  _ ",
  209.         " | |",
  210.         "    ",
  211.         "    ",
  212.         "  _ ",
  213.         " (_)",
  214.         "    ",
  215.         "    ",
  216.         "  _ ",
  217.         " |_)",
  218.         " |  ",
  219.         "    ",
  220.         "  _ ",
  221.         " (_|",
  222.         "   |",
  223.         "   ",
  224.         "  _",
  225.         " | ",
  226.         "   ",
  227.         "  ",
  228.         "  ",
  229.         " S",
  230.         "  ",
  231.         "    ",
  232.         " _|_",
  233.         "  |_",
  234.         "    ",
  235.         "    ",
  236.         "    ",
  237.         " |_|",
  238.         "    ",
  239.         "    ",
  240.         "    ",
  241.         " \\_/",
  242.         "    ",
  243.         "      ",
  244.         "      ",
  245.         " \\_|_/",
  246.         "      ",
  247.         "   ",
  248.         "   ",
  249.         " ><",
  250.         "   ",
  251.         "    ",
  252.         "    ",
  253.         " \\_/",
  254.         " _/ ",
  255.         "   ",
  256.         " _ ",
  257.         " /_",
  258.         "   ",
  259.         "   ",
  260.         ""
  261.         };
  262.     int i;
  263.     char *p;
  264.  
  265.     for (i = 0; i < Height; i++)    {
  266.         for (p = s; *p != '\0'; p++)
  267.             if (*p >= 'a' && *p <= 'z')
  268.                 printf("%s", lower[(*p - 'a') * Height + i]);
  269.             else if (*p >= 'A' && *p <= 'Z')
  270.                 printf("%s", upper[(*p - 'A') * Height + i]);
  271.             else
  272.                 printf(Blank);
  273.         printf("\n");
  274.         }
  275. }
  276.