home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 5 / FreshFish_July-August1994.bin / bbs / dev / date-33.087.lha / Date-33.087 / src / test.c < prev   
C/C++ Source or Header  |  1994-04-13  |  14KB  |  402 lines

  1.  #include <stdio.h>
  2.  #include "Date.h"
  3.  
  4.  
  5.  int readintyear(void)
  6.  
  7.  {int year=0;
  8.  
  9.   printf("(integer)year: ");
  10.   scanf("%d",&year);
  11.   return(year);
  12.  }
  13.  
  14.  
  15.  unsigned short readshortcardmonth(void)
  16.  
  17.  {unsigned int month=0;
  18.  
  19.   printf("(shortcard)month: ");
  20.   scanf("%u",&month);
  21.   return((unsigned short)month);
  22.  }
  23.  
  24.  
  25.  unsigned short readshortcardday(void)
  26.  
  27.  {unsigned int day=0;
  28.  
  29.   printf("(shortcard)day: ");
  30.   scanf("%u",&day);
  31.   return((unsigned short)day);
  32.  }
  33.  
  34.  
  35.  Weekdays readweekday(void)
  36.  
  37.  {unsigned int wday=0;
  38.  
  39.   do
  40.    {printf("weekday: 1=monday; ...7=sunday: ");
  41.     scanf("%u",&wday);
  42.    }
  43.   while (wday > 7);
  44.   return((Weekdays)wday);
  45.  }
  46.  
  47.  
  48.  Weekdays readintdays(void)
  49.  
  50.  {int days=0;
  51.  
  52.   printf("(integer)days: ");
  53.   scanf("%d",&days);
  54.   return(days);
  55.  }
  56.  
  57.  
  58.  unsigned int readcardyear(void)
  59.  
  60.  {unsigned int year=0;
  61.  
  62.   printf("(cardinal)year: ");
  63.   scanf("%u",&year);
  64.   return(year);
  65.  }
  66.  
  67.  
  68.  unsigned long readlongcarddays(void)
  69.  
  70.  {unsigned long day=0;
  71.  
  72.   printf("(longcard)days: ");
  73.   scanf("%u",&day);
  74.   return(day);
  75.  }
  76.  
  77.  
  78.  unsigned short readshortcardhour(void)
  79.  
  80.  {unsigned int hour=0;
  81.  
  82.   printf("(shortcard)hour: ");
  83.   scanf("%u",&hour);
  84.   return((unsigned short)hour);
  85.  }
  86.  
  87.  
  88.  unsigned short readshortcardmin(void)
  89.  
  90.  {unsigned int min=0;
  91.  
  92.   printf("(shortcard)min: ");
  93.   scanf("%u",&min);
  94.   return((unsigned short)min);
  95.  }
  96.  
  97.  
  98.  unsigned short readshortcardsec(void)
  99.  
  100.  {unsigned int sec=0;
  101.  
  102.   printf("(shortcard)sec: ");
  103.   scanf("%u",&sec);
  104.   return((unsigned short)sec);
  105.  }
  106.  
  107.  
  108.  float readrealtime(void)
  109.  
  110.  {float jd=0.0;
  111.  
  112.   printf("(real)time: ");
  113.   scanf("%f",&jd);
  114.   return(jd);
  115.  }
  116.  
  117.  
  118.  short readshortintdegree(void)
  119.  
  120.  {int degree=0;
  121.  
  122.   printf("(shortint)degree: ");
  123.   scanf("%d",°ree);
  124.   return((short)degree);
  125.  }
  126.  
  127.  
  128.  unsigned long readlongcardsecs(void)
  129.  
  130.  {unsigned long secs=0;
  131.  
  132.   printf("(longcard)secs: ");
  133.   scanf("%u",&secs);
  134.   return(secs);
  135.  }
  136.  
  137.  
  138.  float readrealmeridian(void)
  139.  
  140.  {float jd=0.0;
  141.  
  142.   printf("(real)meridian: ");
  143.   scanf("%f",&jd);
  144.   return(jd);
  145.  }
  146.  
  147.  
  148.  float readrealpos(void)
  149.  
  150.  {float jd=0.0;
  151.  
  152.   printf("(real)ps: ");
  153.   scanf("%f",&jd);
  154.   return(jd);
  155.  }
  156.  
  157.  
  158.  void main(void)
  159.  
  160.  {unsigned int        input=0,repeat=0;
  161.   Weekdays        wd;
  162.   unsigned short    d=0,m=0,h=0,s=0;
  163.   int            y=0;
  164.  
  165.   #ifndef __SASC_650
  166.     _DateInit();
  167.   #endif
  168.   do
  169.    {printf("----------------------------------------------------------------\n");
  170.     printf("01 : JulianLeapYear            | 02 : GregorianLeapYear\n");
  171.     printf("03 : HeisLeapYear              | 04 : JulianMonthDays\n");
  172.     printf("05 : GregorianMonthDays        | 06 : HeisMonthDays\n");
  173.     printf("07 : JulianYearDays            | 08 : GregorianYearDays\n");
  174.     printf("09 : HeisYearDays              | 10 : JulianDayDiff\n");
  175.     printf("11 : GregorianDayDiff          | 12 : HeisDayDiff\n");
  176.     printf("13 : JulianDaySmaller          | 14 : GregorianDaySmaller\n");
  177.     printf("15 : HeisDaySmaller            | 16 : JulianWeekday\n");
  178.     printf("17 : GregorianWeekday          | 18 : HeisWeekday\n");
  179.     printf("19 : JulianDaysBeforeWeekday   | 20 : GregorianDaysBeforeWeekday\n");
  180.     printf("21 : HeisDaysBeforeWeekday     | 22 : JulianDaysAfterWeekday\n");
  181.     printf("23 : GregorianDaysAfterWeekday | 24 : HeisDaysAfterWeekday\n");
  182.     printf("25 : JulianDiffDate            | 26 : GregorianDiffDate\n");
  183.     printf("27 : HeisDiffDate              | 28 : JYearToScaliger\n");
  184.     printf("29 : GYearToScaliger           | 30 : HYearToScaliger\n");
  185.     printf("31 : ScaligerYearToJ           | 32 : ScaligerYearToG\n");
  186.     printf("33 : ScaligerYearToH           | 34 : JSYearToJD\n");
  187.     printf("35 : GSYearToJD                | 36 : HSYearToJD\n");
  188.     printf("37 : JDtoMJD                   | 38 : MJDtoJD\n");
  189.     printf("39 : JulianToJD                | 40 : GregorianToJD\n");
  190.     printf("41 : HeisToJD                  | 42 : TimeToJD\n");
  191.     printf("43 : JDToTime                  | 44 : GregorianMoonAge\n");
  192.     printf("45 : GregorianEaster           | 46 : TimeZoneFactor\n");
  193.     printf("47 : LMT                       | 48 : TimeToSec\n");
  194.     printf("49 : SecToTime                 | 50 : JulianWeek\n");
  195.     printf("51 : GregorianWeek             | 52 : HeisWeek\n");
  196.     printf("00 : Quit\n");
  197.     printf("It's your turn: ");
  198.     scanf("%u",&input);
  199.     printf("----------------------------------------------------------------\n");
  200.     do
  201.      {switch (input)
  202.         {
  203.          case  0 : break;
  204.          case  1 : if (JulianLeapYear(readintyear()))
  205.                      printf("TRUE\n");
  206.                 else
  207.                   printf("FALSE\n");
  208.                break;
  209.          case  2 : if (GregorianLeapYear(readintyear()))
  210.                  printf("TRUE\n");
  211.                 else
  212.                   printf("FALSE\n");
  213.                    break;
  214.          case  3 : if (HeisLeapYear(readintyear()))
  215.                   printf("TRUE\n");
  216.                 else
  217.                   printf("FALSE\n");
  218.                break;
  219.          case  4 : printf("%u\n",JulianMonthDays(readshortcardmonth(),readintyear()));
  220.                    break;
  221.          case  5 : printf("%u\n",GregorianMonthDays(readshortcardmonth(),readintyear()));
  222.                    break;
  223.          case  6 : printf("%u\n",HeisMonthDays(readshortcardmonth(),readintyear()));
  224.                    break;
  225.          case  7 : printf("%u\n",JulianYearDays(readintyear()));
  226.                    break;
  227.          case  8 : printf("%u\n",GregorianYearDays(readintyear()));
  228.                break;
  229.          case  9 : printf("%u\n",HeisYearDays(readintyear()));
  230.                break;
  231.          case 10 : printf("%d\n",JulianDayDiff(readshortcardday(),readshortcardmonth(),readintyear(),readshortcardday(),readshortcardmonth(),readintyear()));
  232.                break;
  233.          case 11 : printf("%d\n",GregorianDayDiff(readshortcardday(),readshortcardmonth(),readintyear(),readshortcardday(),readshortcardmonth(),readintyear()));
  234.                break;
  235.          case 12 : printf("%d\n",HeisDayDiff(readshortcardday(),readshortcardmonth(),readintyear(),readshortcardday(),readshortcardmonth(),readintyear()));
  236.                break;
  237.          case 13 : if (JulianDaySmaller(readshortcardday(),readshortcardmonth(),readintyear(),readshortcardday(),readshortcardmonth(),readintyear()))
  238.                   printf("TRUE\n");
  239.                 else
  240.                   printf("FALSE\n");
  241.                break;
  242.          case 14 : if (GregorianDaySmaller(readshortcardday(),readshortcardmonth(),readintyear(),readshortcardday(),readshortcardmonth(),readintyear()))
  243.                   printf("TRUE\n");
  244.                 else
  245.                   printf("FALSE\n");
  246.                break;
  247.          case 15 : if (HeisDaySmaller(readshortcardday(),readshortcardmonth(),readintyear(),readshortcardday(),readshortcardmonth(),readintyear()))
  248.                   printf("TRUE\n");
  249.                 else
  250.                   printf("FALSE\n");
  251.                break;
  252.          case 16 : wd = JulianWeekday(readshortcardday(),readshortcardmonth(),readintyear());
  253.                      switch (wd)
  254.                        {case dayerr    : printf("dayerr!\n");
  255.                                    break;
  256.                       case monday    : printf("monday\n");
  257.                                    break;
  258.                       case tuesday   : printf("tuesday\n");
  259.                                    break;
  260.                       case wednesday : printf("wednesday\n");
  261.                                    break;
  262.                       case thursday  : printf("thursday\n");
  263.                                    break;
  264.                       case freiday   : printf("freiday\n");
  265.                                    break;
  266.                       case saturday  : printf("saturday\n");
  267.                                    break;
  268.                       case sunday    : printf("sunday\n");
  269.                                        break;
  270.                       default        : printf("Illegal Code!\n");
  271.                      }
  272.                break;
  273.          case 17 : wd = GregorianWeekday(readshortcardday(),readshortcardmonth(),readintyear());
  274.                      switch (wd)
  275.                        {case dayerr    : printf("dayerr!\n");
  276.                                    break;
  277.                       case monday    : printf("monday\n");
  278.                                    break;
  279.                       case tuesday   : printf("tuesday\n");
  280.