home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 9 / FreshFishVol9-CD2.bin / bbs / util / klingnum-1.1.lha / KlingNum / KlingNum.c < prev    next >
C/C++ Source or Header  |  1994-06-06  |  3KB  |  116 lines

  1. /*
  2.  
  3. KlingNum, (C) 1994 by Sean Martin Newton.
  4.  
  5.    Hope you like this program; if you've got InterNet access, feel free to drop me
  6. piece of E-Mail.  I like hearing from fellow Amigites, Amigans, whatever we're
  7. being called this time around.  My E-Mail address is SMN8714CSCI@LYNX.APSU.EDU; it
  8. probably won't be on-line active during the summers, but the Spring and Fall
  9. semesters will probably find me on-line... I'm a student at Austin Peay State
  10. University (Computer Science, what else?  Future Amiga programmers have to come
  11. from SOMEWHERE, right???), and the summer semester generally doesn't have any
  12. upper-division classes that necessitate VAX access.  VAX accounts are only for the
  13. people who have classes that use the VAX or E-Mail.  Go ahead and try contacting me
  14. whenever you want; the worst that could happen is that you might get an error-message
  15. bounce back.
  16.  
  17. */
  18.  
  19. #include <stdio.h>
  20. #include <stdlib.h>
  21.  
  22. char *Numbers[] =
  23. {
  24. "pagh",
  25. "wa'",
  26. "cha'",
  27. "wej",
  28. "loS",
  29. "vagh",
  30. "jav",
  31. "Soch",
  32. "chorgh",
  33. "Hut",
  34. "wa'maH"
  35. };
  36.  
  37. char *NumEls[] =
  38. {
  39. "",
  40. "maH",
  41. "vatlh",
  42. "SaD",
  43. "netlh",
  44. "bIp",
  45. "'uy'"
  46. };
  47.  
  48. char *Message[] =
  49. {
  50. "",
  51. "KlingNum v1.1 by Sean Martin Newton",
  52. "  No rights reserved; it's PD; do whatever you want with it!!!",
  53. "",
  54. "Usage: KlingNum <NUMBER>",
  55. "  Where <NUMBER> is a regular number ranging from 0 to 9,999,999.",
  56. "  Please, no punctuation, spaces, or alphabetic characters in the number!",
  57. "",
  58. "   Distribute this program anywhere and everywhere; just please leave my",
  59. "name on it (although this is PD, so I can't MAKE you!), and I'll be happy.",
  60. "I've intentionally set up this program so that its output is unpolluted",
  61. "with formatting, etcetera.  This is so that it can be used with scripts,",
  62. "Arexx variables, or whatever.  Maybe BBSes can use this for some kind of",
  63. "weird Klingon fast-comprehension competition or something.",
  64. "   Suggestions, flames, Star Trek (STNG, DS9, conventions... whatever)",
  65. "info, and bowls of gakh (serpent worms) can be sent to the E-Mail address",
  66. "SMN8714CSCI@LYNX.APSU.EDU .  Be advised that I can't understand Klingon",
  67. "well enough to read entire messages in Klingon or anything like that, at.",
  68. "least not yet.  So if you're part of the official Klingon fan club or",
  69. "something like that, please don't waste an all-Klingon message on me, as",
  70. "I'm currently too smooth-brow to understand.",
  71. "",
  72. NULL
  73. };
  74.  
  75. int main (int argc, char *argv[])
  76. {
  77.  int  Counter, NumLength, UnPrinted=1;
  78.  char *Text;
  79.  if (argc!=2) UnPrinted=0;
  80.  else
  81.   {
  82.    Text=argv[1];
  83.    while(*Text>47&&*Text<58) Text++;
  84.    if (*Text!=0) UnPrinted=0;
  85.   }
  86.  
  87.  if (!UnPrinted)
  88.   {
  89.    for(Counter=0; Message[Counter]!=NULL; Counter++)
  90.     puts(Message[Counter]);
  91.    exit(5);
  92.   }
  93.  for (NumLength=0; argv[1][NumLength]; NumLength++)
  94.   if(argv[1][NumLength]<48||argv[1][NumLength]>57)
  95.    {
  96.     printf("***Non-numeric characters in Number!!!!\n");
  97.     exit(5);
  98.    }
  99.   else argv[1][NumLength]-=48;
  100.  if(NumLength>7)
  101.   {
  102.    printf("***Number too large; can't translate.\n");
  103.    exit(5);
  104.   }
  105.  else
  106.   {
  107.    for (Counter=0; Counter<=NumLength; Counter++)
  108.    if(argv[1][Counter])
  109.     {
  110.      printf("%s%s ", Numbers[argv[1][Counter]], NumEls[NumLength-Counter-1]);
  111.      UnPrinted=0;
  112.     }
  113.   }
  114.  if (UnPrinted) printf("pagh");
  115.  printf("\n");
  116. }