home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / MISC / EDUCATIO / STAGES12.ZIP / MENUS.C < prev    next >
Encoding:
C/C++ Source or Header  |  1991-02-25  |  35.2 KB  |  1,176 lines

  1. #include <stdio.h>
  2. #include "main.h"
  3. #include "header.h"
  4. #if PC
  5. #include "pcwins.h"
  6.  
  7. #define TAB1    4    /* pos of 1st col of menu items on pc screen */
  8. #define TAB2    35    /* pos of 2nd col of menu items on pc screen */
  9. #endif
  10. /*************************************************************************/
  11. /**    menu functions                                   **/
  12. /*************************************************************************/
  13. /* all menus return int value:
  14.     0 = successful input, continue program
  15.  
  16.    menus listed herein:
  17.         generalmenu
  18.         helpmenu
  19.         animalmenu
  20.         cyclemenu
  21.         displaymenu
  22.         cellmenu
  23.         daysmenu
  24. */
  25.  
  26. /********************************/
  27. /*     function: generalmenu    */
  28. /********************************/
  29. /* prints out the general menu */
  30. generalmenu (opfil)
  31.   char *opfil;        /* might be set in file options screen */
  32. {
  33.   char input[MAXLEN];    /* user menu choice */
  34.   char c;
  35.   int valid;        /* boolean */
  36. #if PC
  37.   int val;        /* return val of getusrstr */
  38.   int i;
  39. #endif
  40.  
  41.   valid = 0;
  42.   while (! valid) {
  43. #if PC
  44.     topline(" General Menu ");
  45.     clrscr1(1);
  46.     normvideo();
  47.     i = 2;
  48.     gotoxy(TAB2, i++);
  49.     cprintf("H:  Stages Program Overview");
  50.     gotoxy(TAB2, i++);
  51.     cprintf("I:  Input Syntax Description");
  52.     gotoxy(TAB2, i++);
  53.     cprintf("J:  Output Table Explanation");
  54.     gotoxy(TAB2, i++);
  55.     cprintf("K:  Printer and File Options");
  56.     i = 2;
  57.     gotoxy(TAB1, i++);
  58.     cprintf("A:  (...");
  59.     highvideo();
  60.     cprintf("General Menu");
  61.     normvideo();
  62.     cprintf("...)");
  63.     gotoxy(TAB1, i++);
  64.     cprintf("B:  Go to Help Menu");
  65.     gotoxy(TAB1, i++);
  66.     cprintf("C:  Go to Animal Menu");
  67.     gotoxy(TAB1, i++);
  68.     cprintf("D:  Go to Cycle Length Menu");
  69.     gotoxy(TAB1, i++);
  70.     cprintf("E:  Go to Display Menu");
  71.     gotoxy(TAB1, i++);
  72.     cprintf("F:  Go to Cell Input Menu");
  73.     gotoxy(TAB1, i++);
  74.     cprintf("G:  Go to Days Input Menu");
  75.     i++;
  76.     gotoxy(TAB1, i++);
  77.     cprintf("X:  Exit Program");
  78.     if (HARDCOPY) {
  79.       togglepr();
  80.       fprintf(stdprn, "\n\n\t\t    General Menu\n\n");
  81.       fprintf(stdprn, "\tA:  (...General Menu...)\n");
  82.       fprintf(stdprn, "\tB:  Go to Help Menu\n");
  83.       fprintf(stdprn, "\tC:  Go to Animal Menu\n");
  84.       fprintf(stdprn, "\tD:  Go to Cycle Length Menu\n");
  85.       fprintf(stdprn, "\tE:  Go to Display Menu\n");
  86.       fprintf(stdprn, "\tF:  Go to Cell Input Menu\n");
  87.       fprintf(stdprn, "\tG:  Go to Days Input Menu\n\n");
  88.       fprintf(stdprn, "\tH:  Stages Program Overview\n");
  89.       fprintf(stdprn, "\tI:  Input Syntax Description\n");
  90.       fprintf(stdprn, "\tJ:  Output Table Explanation\n");
  91.       fprintf(stdprn, "\tK:  Printer and File Options\n\n");
  92.       fprintf(stdprn, "\tX:  Exit Program\n");
  93.     }
  94. #else
  95.     printf("\n\n\t\t    General Menu\n\n");
  96.     printf("\tA:  (...General Menu...)\n");
  97.     printf("\tB:  Go to Help Menu\n");
  98.     printf("\tC:  Go to Animal Menu\n");
  99.     printf("\tD:  Go to Cycle Length Menu\n");
  100.     printf("\tE:  Go to Display Menu\n");
  101.     printf("\tF:  Go to Cell Input Menu\n");
  102.     printf("\tG:  Go to Days Input Menu\n\n");
  103.     printf("\tH:  Stages Program Overview\n");
  104.     printf("\tI:  Input Syntax Description\n");
  105.     printf("\tJ:  Output Table Explanation\n");
  106.     printf("\tK:  Printer and File Options\n\n");
  107.     printf("\tX:  Exit Program\n");
  108. #endif
  109.     if (FILEq && FILECOPY) {
  110.       fprintf(fpout, "\n\n\t\t    General Menu\n\n");
  111.       fprintf(fpout, "\tA:  (...General Menu...)\n");
  112.       fprintf(fpout, "\tB:  Go to Help Menu\n");
  113.       fprintf(fpout, "\tC:  Go to Animal Menu\n");
  114.       fprintf(fpout, "\tD:  Go to Cycle Length Menu\n");
  115.       fprintf(fpout, "\tE:  Go to Display Menu\n");
  116.       fprintf(fpout, "\tF:  Go to Cell Input Menu\n");
  117.       fprintf(fpout, "\tG:  Go to Days Input Menu\n\n");
  118.       fprintf(fpout, "\tH:  Stages Program Overview\n");
  119.       fprintf(fpout, "\tI:  Input Syntax Description\n");
  120.       fprintf(fpout, "\tJ:  Output Table Explanation\n");
  121.       fprintf(fpout, "\tK:  Printer and File Options\n\n");
  122.       fprintf(fpout, "\tX:  Exit Program\n");
  123.     }
  124.  
  125.  
  126. #if PC
  127.     clrscr1(2);
  128.     cprintf("%sPlease enter your menu choice:", tab);
  129.     gotoxy(1, 2);
  130.     highvideo();
  131.     cprintf("%s%c%c%c ", tab2, HBAR, HBAR, RTRI);
  132.     normvideo();
  133.     val = getusrstr(input);
  134.     if (HARDCOPY) {
  135.       fprintf(stdprn, "\n\tPlease enter your menu choice:\n");
  136.       fprintf(stdprn, "\t\t==> %s", input);
  137.     }
  138. #else
  139.     printf("\n\tPlease enter your menu choice:\n");
  140.     printf("\t\t==> ");
  141.     getusrstr(input);
  142. #endif
  143.     if (FILEq && FILECOPY) {
  144.       fprintf(fpout, "\n\tPlease enter your menu choice:\n");
  145.       fprintf(fpout, "\t\t==> %s", input);
  146.     }
  147.  
  148. #if PC
  149.     if (val)
  150.       return(val);
  151.     else {
  152.       clrscr1(3);
  153. #endif
  154.       c = input[0];
  155.       switch (toupper(c)) {
  156.       case 'A':        /* stay here at general menu */
  157.     break;
  158.       case 'B':        /* goto help menu */
  159.     return(102);
  160.       case 'C':        /* goto animalmenu */
  161.     return(103);
  162.       case 'D':        /* goto cycle length menu */
  163.     return(104);
  164.       case 'E':        /* goto display menu */
  165.     return(114);
  166.       case 'F':        /* goto cell input menu */
  167.     return(105);
  168.       case 'G':        /* goto days input menu */
  169.     return(106);
  170.       case 'H':
  171.     helpoverview();
  172.     break;
  173.       case 'I':
  174.     helpipsyntax();
  175.     break;
  176.       case 'J':
  177.     helpoptable();
  178.     break;
  179.       case 'K':
  180.     helpoptions(opfil);
  181.     break;
  182.       case 'X':        /* Done */
  183.     printexit(30);
  184.       default:
  185. #if PC
  186.     printf("%s%sInvalid choice:  <%c>.\n", tab, ERRSTR, input[0]);
  187.     if (HARDCOPY)
  188.       fprintf(stdprn, "\t%sInvalid choice:  <%c>.", ERRSTR, input[0]); 
  189. #else
  190.     printf("\t%sInvalid choice:  <%c>.\n", ERRSTR, input[0]);
  191. #endif
  192.     if (FILEq && FILECOPY)
  193.       fprintf(fpout, "\t%sInvalid choice:  <%c>.\n", ERRSTR, input[0]);
  194.       } /* switch */
  195. #if PC
  196.     } /* if ! val */
  197. #endif
  198.   } /* while */
  199. } /* generalmenu */
  200.  
  201. /********************************/
  202. /*     function: helpmenu    */
  203. /********************************/
  204. /* prints out the help menu, deals with user input to the menu */
  205. helpmenu ()
  206. {
  207.   char input[MAXLEN];    /* user menu choice */
  208.   char c;
  209.   int valid;        /* boolean */
  210. #if PC
  211.   int val;        /* return val of getusrstr */
  212.   int i;
  213. #endif
  214.  
  215.   valid = 0;
  216.   while (! valid) {
  217. #if PC
  218.     topline(" Help Menu ");
  219.     clrscr1(1);
  220.     normvideo();
  221.     i = 2;
  222.     gotoxy(TAB1, i++);
  223.     cprintf("A:  Go to General Menu");
  224.     gotoxy(TAB1, i++);
  225.     cprintf("B:  (...");
  226.     highvideo();
  227.     cprintf("Help Menu");
  228.     normvideo();
  229.     cprintf("...)");
  230.     gotoxy(TAB1, i++);
  231.     cprintf("C:  Go to Animal Menu");
  232.     gotoxy(TAB1, i++);
  233.     cprintf("D:  Go to Cycle Length Menu");
  234.     gotoxy(TAB1, i++);
  235.     cprintf("E:  Go to Display Menu");
  236.     gotoxy(TAB1, i++);
  237.     cprintf("F:  Go to Cell Input Menu");
  238.     gotoxy(TAB1, i++);
  239.     cprintf("G:  Go to Days Input Menu");
  240.     i = 2;
  241.     gotoxy(TAB2, i++);
  242.     cprintf("H:  Help!: Changing the Cycle Length");
  243.     gotoxy(TAB2, i++);
  244.     cprintf("I:  Help!: Entering Cell Input Data");
  245.     gotoxy(TAB2, i++);
  246.     cprintf("J:  Help!: Entering Days Input Data");
  247.     gotoxy(TAB2, i++);
  248.     cprintf("K:  Help!: Saving Output to a File");
  249.     gotoxy(TAB2, i++);
  250.     cprintf("L:  Help!: Sending Output to a Printer");
  251.     gotoxy(TAB2, i++);
  252.     cprintf("M:  Help!: Using the F1-F10 Keys");
  253.     gotoxy(TAB2, i++);
  254.     cprintf("N:  Help!: Batch Processing Using Stages");
  255.     i++;
  256.     gotoxy(TAB1, i++);
  257.     cprintf("X:  Exit Program");
  258.     if (HARDCOPY) {
  259.       togglepr();
  260.       fprintf(stdprn, "\n\n\t\t    Help Menu\n\n");
  261.       fprintf(stdprn, "\tA:  Go to General Menu\n");
  262.       fprintf(stdprn, "\tB:  (...Help Menu...)\n");
  263.       fprintf(stdprn, "\tC:  Go to Animal Menu\n");
  264.       fprintf(stdprn, "\tD:  Go to Cycle Length Menu\n");
  265.       fprintf(stdprn, "\tE:  Go to Display Menu\n");
  266.       fprintf(stdprn, "\tF:  Go to Cell Input Menu\n");
  267.       fprintf(stdprn, "\tG:  Go to Days Input Menu\n\n");
  268.       fprintf(stdprn, "\tH:  Help!: Changing the Cycle Length\n");
  269.       fprintf(stdprn, "\tI:  Help!: Entering Cell Input Data\n");
  270.       fprintf(stdprn, "\tJ:  Help!: Entering Days Input Data\n");
  271.       fprintf(stdprn, "\tK:  Help!: Saving Output to a File\n");
  272.       fprintf(stdprn, "\tL:  Help!: Sending Output to a Printer\n");
  273.       fprintf(stdprn, "\tM:  Help!: Using the F1-F10 Keys\n");
  274.       fprintf(stdprn, "\tN:  Help!: Batch Processing Using Stages\n\n");
  275.       fprintf(stdprn, "\tX:  Exit Program\n");
  276.     }
  277.     
  278. #else
  279.     printf("\n\n\t\t    Help Menu\n\n");
  280.     printf("\tA:  Go to General Menu\n");
  281.     printf("\tB:  (...Help Menu...)\n");
  282.     printf("\tC:  Go to Animal Menu\n");
  283.     printf("\tD:  Go to Cycle Length Menu\n");
  284.     printf("\tE:  Go to Display Menu\n");
  285.     printf("\tF:  Go to Cell Input Menu\n");
  286.     printf("\tG:  Go to Days Input Menu\n\n");
  287.     printf("\tH:  Help!: Changing the Cycle Length\n");
  288.     printf("\tI:  Help!: Entering Cell Input Data\n");
  289.     printf("\tJ:  Help!: Entering Days Input Data\n");
  290.     printf("\tK:  Help!: Saving Output to a File\n")
  291.     printf("\tL:  Help!: Batch Processing Using Stages\n\n");
  292.     printf("\tX:  Exit Program\n");
  293. #endif
  294.     if (FILEq && FILECOPY) {
  295.       fprintf(fpout, "\n\n\t\t    Help Menu\n\n");
  296.       fprintf(fpout, "\tA:  Go to General Menu\n");
  297.       fprintf(fpout, "\tB:  (...Help Menu...)\n");
  298.       fprintf(fpout, "\tC:  Go to Animal Menu\n");
  299.       fprintf(fpout, "\tD:  Go to Cycle Length Menu\n");
  300.       fprintf(fpout, "\tE:  Go to Display Menu\n");
  301.       fprintf(fpout, "\tF:  Go to Cell Input Menu\n");
  302.       fprintf(fpout, "\tG:  Go to Days Input Menu\n\n");
  303.       fprintf(fpout, "\tH:  Help!: Changing the Cycle Length\n");
  304.       fprintf(fpout, "\tI:  Help!: Entering Cell Input Data\n");
  305.       fprintf(fpout, "\tJ:  Help!: Entering Days Input Data\n");
  306.       fprintf(fpout, "\tK:  Help!: Saving Output to a File\n");
  307.       fprintf(fpout, "\tL:  Help!: Batch Processing Using Stages\n\n");
  308.       fprintf(fpout, "\tX:  Exit Program\n");
  309.     }
  310.  
  311. #if PC
  312.     clrscr1(2);
  313.     cprintf("%sPlease enter your menu choice:", tab);
  314.     gotoxy(1, 2);
  315.     highvideo();
  316.     cprintf("%s%c%c%c ", tab2, HBAR, HBAR, RTRI);
  317.     normvideo();
  318.     val = getusrstr(input); 
  319.     if (HARDCOPY) {
  320.       togglepr();
  321.       fprintf(stdprn, "\n\tPlease enter your menu choice:\n");
  322.       fprintf(stdprn, "\t\t==> %s", input);
  323.     }
  324. #else
  325.     printf("\n\tPlease enter your menu choice:\n");
  326.     printf("\t\t==> ");
  327.     getusrstr(input);
  328. #endif
  329.     if (FILEq && FILECOPY) {
  330.       fprintf(fpout, "\n\tPlease enter your menu choice:\n");
  331.       fprintf(fpout, "\t\t==> %s", input);
  332.     }
  333.  
  334. #if PC
  335.     if (val)
  336.       return(val);
  337.     else {
  338.       clrscr1(3);
  339. #endif
  340.       c = input[0];
  341.       switch (toupper(c)) {
  342.       case 'A':        /* goto intro menu */
  343.     return(101);
  344.       case 'B':        /* stay here at help menu */
  345.     break;
  346.       case 'C':        /* goto animalmenu */
  347.     return(103);
  348.       case 'D':        /* goto cycle length menu */
  349.     return(104);
  350.       case 'E':        /* goto display menu */
  351.     return(114);
  352.       case 'F':        /* goto cell input menu */
  353.     return(105);
  354.       case 'G':        /* goto days input menu */
  355.     return(106);
  356.       case 'H':
  357.     helpcyclelenip();
  358.     break;
  359.       case 'I':
  360.     helpcellip();
  361.     break;
  362.       case 'J':
  363.     helpdaysip();
  364.     break;
  365.       case 'K':
  366.     helpopfile();
  367.     break;
  368. #if PC
  369.       case 'L':
  370.     helphardcopy();
  371.     break;
  372.       case 'M':
  373.     helpfkeys();
  374.     break;
  375.       case 'N':
  376.     helpbatch();
  377.     break;
  378. #else
  379.       case 'L':        /* batch processing */
  380.     helpbatch();
  381.     break;
  382. #endif
  383.       case 'X':        /* Done */
  384.     printexit(38);
  385.       default:
  386. #if PC
  387.     printf("%s%sInvalid choice:  <%c>.", tab, ERRSTR, input[0]);
  388.     if (HARDCOPY) {
  389.       togglepr();
  390.       fprintf(stdprn, "\t%sInvalid choice:  <%c>.", ERRSTR, input[0]);
  391.     }
  392. #else
  393.     printf("\t%sInvalid choice:  <%c>.", ERRSTR, input[0]);
  394. #endif
  395.     if (FILEq && FILECOPY)
  396.       fprintf(fpout, "\t%sInvalid choice:  <%c>.\n", ERRSTR, input[0]);
  397.       } /* switch */
  398. #if PC
  399.     } /* if ! val */
  400. #endif
  401.   } /* while */
  402. } /* helpmenu */
  403.  
  404. /********************************/
  405. /*     function: animalmenu    */
  406. /********************************/
  407. /* prints out the Animal menu, deals with user input to the menu */
  408. animalmenu (pfpstg, pfpseq, stgfil, seqfil, pnew)
  409.   FILE **pfpstg, **pfpseq;
  410.   char *stgfil, *seqfil;
  411.   int *pnew;
  412. {
  413.   char input[MAXLEN];    /* user menu choice */
  414.   char c;
  415.   int valid;        /* boolean */
  416.   int val;
  417. #if PC
  418.   int i;
  419. #endif
  420.  
  421.   valid = 0;
  422.   while (! valid) {
  423. #if PC
  424.     topline(" Animal Menu ");
  425.     clrscr1(1);
  426.     normvideo();
  427.     i = 2;
  428.     gotoxy(TAB2, i++);
  429.     cprintf("H:  Select Sprague-Dawley Rat");
  430.     gotoxy(TAB2, i++);
  431.     cprintf("I:  Select Sherman Rat");
  432.     gotoxy(TAB2, i++);
  433.     cprintf("J:  Select Hamster");
  434.     gotoxy(TAB2, i++);
  435.     cprintf("K:  Select C3H Mouse");
  436.     gotoxy(TAB2, i++);
  437.     cprintf("L:  Select Dog");
  438.     i = 2;
  439.     gotoxy(TAB1, i++);
  440.     cprintf("A:  Go to General Menu");
  441.     gotoxy(TAB1, i++);
  442.     cprintf("B:  Go to Help Menu");
  443.     gotoxy(TAB1, i++);
  444.     cprintf("C:  (...");
  445.     highvideo();
  446.     cprintf("Animal Menu");
  447.     normvideo();
  448.     cprintf("...)");
  449.     gotoxy(TAB1, i++);
  450.     cprintf("D:  Go to Cycle Length Menu");
  451.     gotoxy(TAB1, i++);
  452.     cprintf("E:  Go to Display Menu");
  453.     gotoxy(TAB1, i++);
  454.     cprintf("F:  Go to Cell Input Menu");
  455.     gotoxy(TAB1, i++);
  456.     cprintf("G:  Go to Days Input Menu");
  457.     i++;
  458.     gotoxy(TAB1, i);
  459.     cprintf("X:  Exit Program");
  460.     gotoxy(TAB2, i);
  461.     cprintf("?:  Show Help Screen");
  462.     if (HARDCOPY) {
  463.       togglepr();
  464.       fprintf(stdprn, "\n\n\t\t    Animal Menu\n\n");
  465.       fprintf(stdprn, "\tA:  Go to General Menu\n");
  466.       fprintf(stdprn, "\tB:  Go to Help Menu\n");
  467.       fprintf(stdprn, "\tC:  (...Animal Menu...)\n");
  468.       fprintf(stdprn, "\tD:  Go to Cycle Length Menu\n");
  469.       fprintf(stdprn, "\tE:  Go to Display Menu\n");
  470.       fprintf(stdprn, "\tF:  Go to Cell Input Menu\n");
  471.       fprintf(stdprn, "\tG:  Go to Days Input Menu\n\n");
  472.       fprintf(stdprn, "\tH:  Select Sprague-Dawley Rat\n");
  473.       fprintf(stdprn, "\tI:  Select Sherman Rat\n");
  474.       fprintf(stdprn, "\tJ:  Select Hamster\n");
  475.       fprintf(stdprn, "\tK:  Select C3H Mouse\n");
  476.       fprintf(stdprn, "\tL:  Select Dog\n\n");
  477.       fprintf(stdprn, "\tX:  Exit Program\n");
  478.       fprintf(stdprn, "\t?:  Show Help Screen\n");
  479.     }
  480. #else
  481.     printf("\n\n\t\t    Animal Menu\n\n");
  482.     printf("\tA:  Go to General Menu\n");
  483.     printf("\tB:  Go to Help Menu\n");
  484.     printf("\tC:  (...Animal Menu...)\n");
  485.     printf("\tD:  Go to Cycle Length Menu\n");
  486.     printf("\tE:  Go to Display Menu\n");
  487.     printf("\tF:  Go to Cell Input Menu\n");
  488.     printf("\tG:  Go to Days Input Menu\n\n");
  489.     printf("\tH:  Select Sprague-Dawley Rat\n");
  490.     printf("\tI:  Select Sherman Rat\n");
  491.     printf("\tJ:  Select Hamster\n");
  492.     printf("\tK:  Select C3H Mouse\n");
  493.     printf("\tL:  Select Dog\n");
  494.     printf("\tX:  Exit Program\n");
  495.     printf("\t?:  Show Help Screen\n");
  496. #endif
  497.     if (FILEq && FILECOPY) {
  498.       fprintf(fpout, "\n\n\t\t    Animal Menu\n\n");
  499.       fprintf(fpout, "\tA:  Go to General Menu\n");
  500.       fprintf(fpout, "\tB:  Go to Help Menu\n");
  501.       fprintf(fpout, "\tC:  (...Animal Menu...)\n");
  502.       fprintf(fpout, "\tD:  Go to Cycle Length Menu\n");
  503.       fprintf(fpout, "\tE:  Go to Display Menu\n");
  504.       fprintf(fpout, "\tF:  Go to Cell Input Menu\n");
  505.       fprintf(fpout, "\tG:  Go to Days Input Menu\n\n");
  506.       fprintf(fpout, "\tH:  Select Sprague-Dawley Rat\n");
  507.       fprintf(fpout, "\tI:  Select Sherman Rat\n");
  508.       fprintf(fpout, "\tJ:  Select Hamster\n");
  509.       fprintf(fpout, "\tK:  Select C3H Mouse\n");
  510.       fprintf(fpout, "\tL:  Select Dog\n\n");
  511.       fprintf(fpout, "\tX:  Exit Program\n");
  512.       fprintf(fpout, "\t?:  Show Help Screen\n");
  513.     }
  514.     
  515. #if PC
  516.     clrscr1(2);
  517.     cprintf("%sPlease enter your menu choice:", tab);
  518.     gotoxy(1, 2);
  519.     highvideo();
  520.     cprintf("%s%c%c%c ", tab2, HBAR, HBAR, RTRI);
  521.     normvideo();
  522.     val = getusrstr(input);
  523.     if (HARDCOPY) {
  524.       togglepr();
  525.       fprintf(stdprn, "\n\tPlease enter your menu choice:\n");
  526.       fprintf(stdprn, "\t\t==> %s", input);
  527.     }
  528. #else
  529.     printf("\n\tPlease enter your menu choice:\n");
  530.     printf("\t\t==> ");
  531.     getusrstr(input);
  532. #endif
  533.     if (FILEq && FILECOPY) {
  534.       fprintf(fpout, "\n\tPlease enter your menu choice:\n");
  535.       fprintf(fpout, "\t\t==> %s", input);
  536.     }
  537.  
  538. #if PC
  539.     if (val) {
  540.       *pnew = 0;
  541.       return(val);
  542.     } else {
  543. #endif
  544.       c = input[0];
  545.       switch (toupper(c)) {
  546.       case 'A':        /* goto intro menu */
  547.     return(101);
  548.       case 'B':        /* goto help menu */
  549.     return(102);
  550.       case 'C':        /* stay here at animal menu */
  551.     break;
  552.       case 'D':        /* goto cycle length menu */
  553.     return(104);
  554.       case 'E':        /* goto display meny */
  555.     return(114);
  556.       case 'F':        /* goto cell input menu */
  557.     return(105);
  558.       case 'G':        /* goto days input menu */
  559.     return(106);
  560.       case 'H':
  561.     valid = 1;
  562.     val = getsdrat(pfpstg, pfpseq, stgfil, seqfil);
  563.     if (! val)
  564.       *pnew = 1;
  565.     return(val);
  566.       case 'I':
  567.     valid = 1;
  568.     val = getshrat(pfpstg, pfpseq, stgfil, seqfil);
  569.     if (! val)
  570.       *pnew = 1;
  571.     return(val);
  572.       case 'J':
  573.     valid = 1;
  574.     val = gethamster(pfpstg, pfpseq, stgfil, seqfil);
  575.     if (! val)
  576.       *pnew = 1;
  577.     return(val);
  578.       case 'K':
  579.     valid = 1;
  580.     val = getc3h(pfpstg, pfpseq, stgfil, seqfil);
  581.     if (! val)
  582.       *pnew = 1;
  583.     return(val);
  584.       case 'L':
  585.     valid = 1;
  586.     val = getdog(pfpstg, pfpseq, stgfil, seqfil);
  587.     if (! val)
  588.       *pnew = 1;
  589.     return(val);
  590.       case '?':        /* show help screen */
  591.     helpanimalmenu();
  592.     break;
  593.       case 'X':        /* Done */
  594.     printexit(32);
  595.       default:
  596. #if PC
  597.     clrscr1(3);
  598.     printf("%s%sInvalid choice:  <%c>.", tab, ERRSTR, input[0]);
  599.     if (HARDCOPY) {
  600.       togglepr();
  601.       fprintf(stdprn, "\t%sInvalid choice:  <%c>.", ERRSTR, input[0]);
  602.     }
  603. #else
  604.     printf("\t%sInvalid choice:  <%c>.", ERRSTR, input[0]);
  605. #endif
  606.     if (FILEq && FILECOPY)
  607.       fprintf(fpout, "\t%sInvalid choice:  <%c>.\n", ERRSTR, input[0]); 
  608.       } /* switch */
  609. #if PC
  610.     } /* if ! val */
  611. #endif
  612.   } /* while */
  613. } /* animalmenu */
  614.  
  615. /********************************/
  616. /*     function: cyclemenu     */
  617. /********************************/
  618. /* prints out the Cyclen menu, deals with user input to the menu */
  619. cyclemenu (pfpstg, pfpseq, stgfil, seqfil, pnew)
  620.   FILE **pfpstg, **pfpseq;
  621.   char *stgfil, *seqfil;
  622.   int *pnew;
  623. {
  624.   char input[MAXLEN];    /* user menu choice */
  625.   char c;
  626.   int valid;        /* boolean */
  627.   int val;
  628. #if PC
  629.   int i;
  630. #endif
  631.  
  632.   if (strcmp(Animal, "None")==0) {
  633. #if PC
  634.     topline(" Cycle Length Menu ");
  635.     clrscr1(1);
  636.     gotoxy(1, 5);
  637.     cprintf("%sNo animal has been selected yet.", tab);
  638.     gotoxy(1, 6);
  639.     cprintf("%sPlease use the Animal Menu to select an animal.", tab);
  640.     hitreturn(1);
  641.     if (HARDCOPY) {
  642.       togglepr();
  643.       fprintf(stdprn, "\n\tNo animal has been selected yet.\n");
  644.       fprintf(stdprn, "\tPlease use the Animal Menu to select an animal.\n");
  645.     }
  646. #else
  647.     printf("\n\tNo animal has been selected yet.\n");
  648.     printf("\tPlease use the Animal Menu to select an animal.\n");
  649. #endif
  650.     if (FILEq && FILECOPY) {
  651.       fprintf(fpout, "\n\tNo animal has been selected yet.\n");
  652.       fprintf(fpout, "\tPlease use the Animal Menu to select an animal.\n");
  653.     }
  654.     return(103);        /* goto animal menu */
  655.   }
  656.  
  657.   valid = 0;
  658.   while (! valid) {
  659. #if PC
  660.     topline(" Cycle Length Menu ");
  661.     clrscr1(1);
  662.     normvideo();
  663.     i = 2;
  664.     gotoxy(TAB2, i++);
  665.     cprintf("H:  Change Cycle Length");
  666.     gotoxy(TAB2, i++);
  667.     cprintf("I:  Use Default Cycle Length");
  668.     i = 2;
  669.     gotoxy(TAB1, i++);
  670.     cprintf("A:  Go to General Menu");
  671.     gotoxy(TAB1, i++);
  672.     cprintf("B:  Go to Help Menu");
  673.     gotoxy(TAB1, i++);
  674.     cprintf("C:  Go to Animal Menu");
  675.     gotoxy(TAB1, i++);
  676.     cprintf("D:  (...");
  677.     highvideo();
  678.     cprintf("Cycle Menu");
  679.     normvideo();
  680.     cprintf("...)");
  681.     gotoxy(TAB1, i++);
  682.     cprintf("E:  Go to Display Menu");
  683.     gotoxy(TAB1, i++);
  684.     cprintf("F:  Go to Cell Input Menu");
  685.     gotoxy(TAB1, i++);
  686.     cprintf("G:  Go to Days Input Menu");
  687.     i++;
  688.     gotoxy(TAB1, i);
  689.     cprintf("X:  Exit Program");
  690.     gotoxy(TAB2, i);
  691.     cprintf("?:  Show Help Screen");
  692.     if (HARDCOPY) {
  693.       togglepr();
  694.       fprintf(stdprn, "\n\n\t\t    Animal Menu\n\n");
  695.       fprintf(stdprn, "\tA:  Go to General Menu\n");
  696.       fprintf(stdprn, "\tB:  Go to Help Menu\n");
  697.       fprintf(stdprn, "\tC:  Go to Animal Menu\n");
  698.       fprintf(stdprn, "\tD:  (...Cycle Length Menu...)\n");
  699.       fprintf(stdprn, "\tE:  Go to Display Menu\n");
  700.       fprintf(stdprn, "\tF:  Go to Cell Input Menu\n");
  701.       fprintf(stdprn, "\tG:  Go to Days Input Menu\n\n");
  702.       fprintf(stdprn, "\tH:  Change Cycle Length\n");
  703.       fprintf(stdprn, "\tI:  Use Default Cycle Length\n\n");
  704.       fprintf(stdprn, "\tX:  Exit Program\n");
  705.       fprintf(stdprn, "\t?:  Show Help Screen\n");
  706.     }
  707. #else
  708.     printf("\n\n\t\t    Animal Menu\n\n");
  709.     printf("\tA:  Go to General Menu\n");
  710.     printf("\tB:  Go to Help Menu\n");
  711.     printf("\tC:  Go to Animal Menu\n");
  712.     printf("\tD:  (...Cycle Length Menu...)\n");
  713.     printf("\tE:  Go to Display Menu\n");
  714.     printf("\tF:  Go to Cell Input Menu\n");
  715.     printf("\tG:  Go to Days Input Menu\n\n");
  716.     printf("\tH:  Change Cycle Length\n");
  717.     printf("\tI:  Use Default Cycle Length\n\n");
  718.     printf("\tX:  Exit Program\n");
  719.     printf("\t?:  Show Help Screen\n");
  720. #endif
  721.     if (FILEq && FILECOPY) {
  722.       fprintf(fpout, "\n\n\t\t    Animal Menu\n\n");
  723.       fprintf(fpout, "\tA:  Go to General Menu\n");
  724.       fprintf(fpout, "\tB:  Go to Help Menu\n");
  725.       fprintf(fpout, "\tC:  Go to Animal Menu\n");
  726.       fprintf(fpout, "\tD:  (...Cycle Length Menu...)\n");
  727.       fprintf(fpout, "\tE:  Go to Display Menu\n");
  728.       fprintf(fpout, "\tF:  Go to Cell Input Menu\n");
  729.       fprintf(fpout, "\tG:  Go to Days Input Menu\n\n");
  730.       fprintf(fpout, "\tH:  Change Cycle Length\n");
  731.       fprintf(fpout, "\tI:  Use Default Cycle Length\n\n");
  732.       fprintf(fpout, "\tX:  Exit Program\n");
  733.       fprintf(fpout, "\t?:  Show Help Screen\n");
  734.     }
  735.  
  736. #if PC
  737.     clrscr1(2);
  738.     cprintf("%sPlease enter your menu choice:", tab);
  739.     gotoxy(1, 2);
  740.     highvideo();
  741.     cprintf("%s%c%c%c ", tab2, HBAR, HBAR, RTRI);
  742.     normvideo();
  743.     val = getusrstr(input);
  744.     if (HARDCOPY) {
  745.       togglepr();
  746.       fprintf(stdprn, "\n\tPlease enter your menu choice:\n");
  747.       fprintf(stdprn, "\t\t==> %s", input);
  748.     }
  749. #else
  750.     printf("\n\tPlease enter your menu choice:\n");
  751.     printf("\t\t==> ");
  752.     getusrstr(input);
  753. #endif
  754.     if (FILEq && FILECOPY) {
  755.       fprintf(fpout, "\n\tPlease enter your menu choice:\n");
  756.       fprintf(fpout, "\t\t==> %s", input);
  757.     }
  758.  
  759. #if PC
  760.     if (val) {
  761.       *pnew = 0;
  762.       return(val);
  763.     } else {
  764. #endif
  765.       c = input[0];
  766.       switch (toupper(c)) {
  767.       case 'A':        /* goto intro menu */
  768.     return(101);
  769.       case 'B':        /* goto help menu */
  770.     return(102);
  771.       case 'C':        /* goto animal menu */
  772.     return(103);
  773.       case 'D':        /* stay here at cycle length menu */
  774.     break;
  775.       case 'E':        /* goto display meny */
  776.     return(114);
  777.       case 'F':        /* goto cell input menu */
  778.     return(105);
  779.       case 'G':        /* goto days input menu */
  780.     return(106);
  781.       case 'H':        /* change cycle length */
  782.     valid = 1;
  783.     val = getCyclelen();
  784.     break;
  785.       case 'I':        /* use default cycle length */
  786.     valid = 1;
  787.     break;
  788.       case '?':        /* show help screen */
  789.     helpcyclelenip();
  790.     break;
  791.       case 'X':        /* Done */
  792.     printexit(32);
  793.       default:
  794. #if PC
  795.     clrscr1(3);
  796.     printf("%s%sInvalid choice:  <%c>.", tab, ERRSTR, input[0]);
  797.     if (HARDCOPY) {
  798.       togglepr();
  799.       fprintf(stdprn, "\t%sInvalid choice:  <%c>.", ERRSTR, input[0]);
  800.     }
  801. #else
  802.     printf("\t%sInvalid choice:  <%c>.", ERRSTR, input[0]);
  803. #endif
  804.     if (FILEq && FILECOPY)
  805.       fprintf(fpout, "\t%sInvalid choice:  <%c>.\n", ERRSTR, input[0]);
  806.       } /* switch */
  807. #if PC
  808.     } /* if ! val */
  809. #endif
  810.   } /* while */
  811.   return(0);
  812. } /* cyclemenu */
  813.  
  814. /********************************/
  815. /*     function: displaymenu    */
  816. /********************************/
  817. /* prints out the display menu, deals with user input
  818.    prints out stage data and cell sequence data */
  819. displaymenu ()
  820. {
  821.   char input[MAXLEN];    /* user menu choice */
  822.   char c;
  823.   int valid;        /* boolean */
  824. #if PC
  825.   int val;        /* return val of getusrstr */
  826.   int i;
  827. #endif
  828.  
  829.   valid = 0;
  830.   while (! valid) {
  831. #if PC
  832.     topline(" Display Menu ");
  833.     clrscr1(1);
  834.     normvideo();
  835.     i = 2;
  836.     gotoxy(TAB2, i++);
  837.     cprintf("H:  Show Stage Length Data");
  838.     gotoxy(TAB2, i++);
  839.     cprintf("I:  Show Cell Sequence Data");
  840.     i = 2;
  841.     gotoxy(TAB1, i++);
  842.     cprintf("A:  Go to General Menu");
  843.     gotoxy(TAB1, i++);
  844.     cprintf("B:  Go to Help Menu");
  845.     gotoxy(TAB1, i++);
  846.     cprintf("C:  Go to Animal Menu");
  847.     gotoxy(TAB1, i++);
  848.     cprintf("D:  Go to Cycle Length Menu");
  849.     gotoxy(TAB1, i++);
  850.     cprintf("E:  (...");
  851.     highvideo();
  852.     cprintf("Display Menu");
  853.     normvideo();
  854.     cprintf("...)");
  855.     gotoxy(TAB1, i++);
  856.     cprintf("F:  Go to Cell Input Menu");
  857.     gotoxy(TAB1, i++);
  858.     cprintf("G:  Go to Days Input Menu");
  859.     i++;
  860.     gotoxy(TAB1, i);
  861.     cprintf("X:  Exit Program");
  862.     gotoxy(TAB2, i);
  863.     cprintf("?:  Show Help Screen");
  864.     if (HARDCOPY) {
  865.       togglepr();
  866.       fprintf(stdprn, "\n\n\t\t    Display Menu\n\n");
  867.       fprintf(stdprn, "\tA:  Go to General Menu\n");
  868.       fprintf(stdprn, "\tB:  Go to Help Menu\n");
  869.       fprintf(stdprn, "\tC:  Go to Animal Menu\n");
  870.       fprintf(stdprn, "\tD:  Go to Cycle Length Menu\n");
  871.       fprintf(stdprn, "\tE:  (...Display Menu...)\n");
  872.       fprintf(stdprn, "\tF:  Go to Cell Input Menu\n");
  873.       fprintf(stdprn, "\tG:  Go to Days Input Menu\n\n");
  874.       fprintf(stdprn, "\tH:  Stage Length Data\n");
  875.       fprintf(stdprn, "\tI:  Cell Sequence Data\n\n");
  876.       fprintf(stdprn, "\tX:  Exit Program\n");
  877.       fprintf(stdprn, "\t?:  Show Help Screen\n");
  878.     }
  879. #else
  880.     printf("\n\n\t\t    Display Menu\n\n");
  881.     printf("\tA:  Go to General Menu\n");
  882.     printf("\tB:  Go to Help Menu\n");
  883.     printf("\tC:  Go to Animal Menu\n");
  884.     printf("\nD:  Go to Cycle Length Menu\n");
  885.     printf("\tE:  (...Display Menu...)\n");
  886.     printf("\tF:  Go to Cell Input Menu\n");
  887.     printf("\tG:  Go to Days Input Menu\n\n");
  888.     printf("\tH:  Stage Length Data\n");
  889.     printf("\tI:  Cell Sequence Data\n\n");
  890.     printf("\tX:  Exit Program\n");
  891.     printf("\t?:  Show Help Screen\n");
  892. #endif
  893.     if (FILEq && FILECOPY) {
  894.       fprintf(fpout, "\n\n\t\t    Display Menu\n\n");
  895.       fprintf(fpout, "\tA:  Go to General Menu\n");
  896.       fprintf(fpout, "\tB:  Go to Help Menu\n");
  897.       fprintf(fpout, "\tC:  Go to Animal Menu\n");
  898.       fprintf(fpout, "\tD:  Go to Cycle Length Menu\n");
  899.       fprintf(fpout, "\tE:  (...Display Menu...)\n");
  900.       fprintf(fpout, "\tF:  Go to Cell Input Menu\n");
  901.       fprintf(fpout, "\tG:  Go to Days Input Menu\n\n");
  902.       fprintf(fpout, "\tH:  Stage Length Data\n");
  903.       fprintf(fpout, "\tI:  Cell Sequence Data\n\n");
  904.       fprintf(fpout, "\tX:  Exit Program\n");
  905.       fprintf(fpout, "\t?:  Show Help Screen\n");
  906.     }
  907.  
  908. #if PC
  909.     clrscr1(2);
  910.     cprintf("%sPlease enter your menu choice:", tab);
  911.     gotoxy(1, 2);
  912.     highvideo();
  913.     cprintf("%s%c%c%c ", tab2, HBAR, HBAR, RTRI);
  914.     normvideo();
  915.     val = getusrstr(input);
  916.     if (HARDCOPY) {
  917.       fprintf(stdprn, "\n\tPlease enter your menu choice:\n");
  918.       fprintf(stdprn, "\t\t==> %s", input);
  919.     }
  920.     if (val) return(val);
  921. #else
  922.     printf("\n\tPlease enter your menu choice:\n");
  923.     printf("\t\t==> ");
  924.     getusrstr(input);
  925. #endif
  926.     if (FILEq && FILECOPY) {
  927.       fprintf(fpout, "\n\tPlease enter your menu choice:\n");
  928.       fprintf(fpout, "\t\t==> %s", input);
  929.     }
  930.  
  931.     c = input[0];
  932.     switch (toupper(c)) {
  933.     case 'A':        /* goto intro menu */
  934.       return(101);
  935.     case 'B':        /* goto help menu */
  936.       return(102);
  937.     case 'C':        /* goto animalmenu */
  938.       return(103);
  939.     case 'D':        /* goto cycle length menu */
  940.       return(104);
  941.     case 'E':        /* stay here at display menu */
  942.       break;
  943.     case 'F':        /* go to cell input menu */
  944.       return(105);
  945.     case 'G':        /* go to days input menu */
  946.       return(106);
  947.     case 'H':
  948.       if (! printstgdat())
  949.     /* tried to print w/o animal: goto animalmenu */
  950.     return(103);
  951. #if PC
  952.       else {
  953.     hitreturn(1);
  954.     if (HARDCOPY)
  955.       printstgdatHARD();
  956.       }
  957. #endif
  958.     break;
  959.     case 'I':
  960.       if (! printseqdat())
  961.     /* tried to print w/o animal: goto animalmenu */
  962.     return(103);
  963. #if PC
  964.       else {
  965.     hitreturn(1);
  966.     if (HARDCOPY)
  967.       printseqdatHARD();
  968.       }
  969. #endif
  970.       break;
  971.     case '?':        /* show help screen */
  972.       helpdisplaymenu();
  973.       break;
  974.     case 'X':        /* Done */
  975.       printexit(33);
  976.       break;
  977.     default:
  978. #if PC
  979.       clrscr1(3);
  980.       printf("%s%sInvalid choice:  <%c>.", tab, ERRSTR, input[0]);
  981.       if (HARDCOPY) {
  982.     togglepr();
  983.     fprintf(stdprn, "\t%sInvalid choice:  <%c>.", ERRSTR, input[0]);
  984.       }
  985. #else
  986.       printf("\t%sInvalid choice:  <%c>.", ERRSTR, input[0]);
  987. #endif
  988.       if (FILEq && FILECOPY)
  989.     fprintf(fpout, "\t%sInvalid choice:  <%c>.\n", ERRSTR, input[0]);
  990.     } /* switch */
  991.   } /* while */
  992. } /* displaymenu */
  993.  
  994. /********************************/
  995. /*     function: cellmenu    */
  996. /********************************/
  997. /* prints out the cell menu.  doesn't deal with user input,
  998.    this is done in inputs.c:getusrcells */
  999. cellmenu ()
  1000. {
  1001. #if PC
  1002.   int i;
  1003. #endif
  1004.  
  1005. #if PC
  1006.   topline(" Cell Input Menu ");
  1007.   clrscr1(1);
  1008.   normvideo();
  1009.   i = 2;
  1010.   gotoxy(TAB2, i++);
  1011.   cprintf("H:  Show Stage Length Data");
  1012.   gotoxy(TAB2, i++);
  1013.   cprintf("I:  Show Cell Sequence Data");
  1014.   i = 2;
  1015.   gotoxy(TAB1, i++);
  1016.   cprintf("A:  Go to General Menu");
  1017.   gotoxy(TAB1, i++);
  1018.   cprintf("B:  Go to Help Menu");
  1019.   gotoxy(TAB1, i++);
  1020.   cprintf("C:  Go to Animal Menu");
  1021.   gotoxy(TAB1, i++);
  1022.   cprintf("D:  Go to Cycle Length Menu");
  1023.   gotoxy(TAB1, i++);
  1024.   cprintf("E:  Go to Display Menu");
  1025.   gotoxy(TAB1, i++);
  1026.   cprintf("F:  (...");
  1027.   highvideo();
  1028.   cprintf("Cell Input Menu");
  1029.   normvideo();
  1030.   cprintf("...)");
  1031.   gotoxy(TAB1, i++);
  1032.   cprintf("G:  Go to Days Input Menu");
  1033.   i++;
  1034.   gotoxy(TAB1, i);
  1035.   cprintf("X:  Exit Program");
  1036.   gotoxy(TAB2, i);
  1037.   cprintf("?:  Show Help Screen");
  1038.   if (HARDCOPY) {
  1039.     togglepr();
  1040.     fprintf(stdprn, "\n\n\t\t    Cell Input Menu\n\n");
  1041.     fprintf(stdprn, "\tA:  Go to General Menu\n");
  1042.     fprintf(stdprn, "\tB:  Go to Help Menu\n");
  1043.     fprintf(stdprn, "\tC:  Go to Animal Menu\n");
  1044.     fprintf(stdprn, "\tD:  Go to Cycle Length Menu\n");
  1045.     fprintf(stdprn, "\tE:  Go to Display Menu\n");
  1046.     fprintf(stdprn, "\tF:  (...Cell Input Menu...)\n");
  1047.     fprintf(stdprn, "\tG:  Go to Days Input Menu\n\n");
  1048.     fprintf(stdprn, "\tH:  Show Stage Length Data\n");
  1049.     fprintf(stdprn, "\tI:  Show Cell Sequence Data\n\n");
  1050.     fprintf(stdprn, "\tX:  Exit Program\n\n");
  1051.     fprintf(stdprn, "\t?:  Show Help Screen\n");
  1052.   }
  1053. #else
  1054.   printf("\n\n\t\t    Cell Input Menu\n\n");
  1055.   printf("\tA:  Go to General Menu\n");
  1056.   printf("\tB:  Go to Help Menu\n");
  1057.   printf("\tC:  Go to Animal Menu\n");
  1058.   printf("\tD:  Go to Cycle Length Menu\n");
  1059.   printf("\tE:  Go to Display Menu\n");
  1060.   printf("\tF:  (...Cell Input Menu...)\n");
  1061.   printf("\tG:  Go to Days Input Menu\n\n");
  1062.   printf("\tH:  Show Stage Length Data\n");
  1063.   printf("\tI:  Show Cell Sequence Data\n\n");
  1064.   printf("\tX:  Exit Program\n\n");
  1065.   printf("\t?:  Show Help Screen\n");
  1066. #endif
  1067.   if (FILEq && FILECOPY) {
  1068.     fprintf(fpout, "\n\n\t\t    Cell Input Menu\n\n");
  1069.     fprintf(fpout, "\tA:  Go to General Menu\n");
  1070.     fprintf(fpout, "\tB:  Go to Help Menu\n");
  1071.     fprintf(fpout, "\tC:  Go to Animal Menu\n");
  1072.     fprintf(fpout, "\tD:  Go to Cycle Length Menu\n");
  1073.     fprintf(fpout, "\tE:  Go to Display Menu\n");
  1074.     fprintf(fpout, "\tF:  (...Cell Input Menu...)\n");
  1075.     fprintf(fpout, "\tG:  Go to Days Input Menu\n\n");
  1076.     fprintf(fpout, "\tH:  Show Stage Length Data\n");
  1077.     fprintf(fpout, "\tI:  Show Cell Sequence Data\n\n");
  1078.     fprintf(fpout, "\tX:  Exit Program\n\n");
  1079.     fprintf(fpout, "\t?:  Show Help Screen\n");
  1080.   }
  1081. } /* cellmenu */
  1082.  
  1083. /********************************/
  1084. /*     function: daysmenu    */
  1085. /********************************/
  1086. /* prints out the days menu.  doesn't deal with user input,
  1087.    this is done in inputs.c:getusrcells */
  1088. daysmenu ()
  1089. {
  1090. #if PC
  1091.   int i;
  1092. #endif
  1093.  
  1094. #if PC
  1095.   topline(" Days Input Menu ");
  1096.   clrscr1(1);
  1097.   normvideo();
  1098.   i = 2;
  1099.   gotoxy(TAB2, i++);
  1100.   cprintf("H:  Show Stage Length Data");
  1101.   gotoxy(TAB2, i++);
  1102.   cprintf("I:  Show Cell Sequence Data");
  1103.   gotoxy(TAB2, i++);
  1104.   cprintf("J:  Show Input Cells");
  1105.   i = 2;
  1106.   gotoxy(TAB1, i++);
  1107.   cprintf("A:  Go to General Menu");
  1108.   gotoxy(TAB1, i++);
  1109.   cprintf("B:  Go to Help Menu");
  1110.   gotoxy(TAB1, i++);
  1111.   cprintf("C:  Go to Animal Menu");
  1112.   gotoxy(TAB1, i++);
  1113.   cprintf("D:  Go to Cycle Length Menu");
  1114.   gotoxy(TAB1, i++);
  1115.   cprintf("E:  Go to Display Menu");
  1116.   gotoxy(TAB1, i++);
  1117.   cprintf("F:  Go to Cell Input Menu");
  1118.   gotoxy(TAB1, i++);
  1119.   cprintf("G:  (...");
  1120.   highvideo();
  1121.   cprintf("Days Input Menu");
  1122.   normvideo();
  1123.   cprintf("...)");
  1124.   i++;
  1125.   gotoxy(TAB1, i);
  1126.   cprintf("X:  Exit Program", tab);
  1127.   gotoxy(TAB2, i);
  1128.   cprintf("?:  Show Help Screen", tab);
  1129.   if (HARDCOPY) {
  1130.     togglepr();
  1131.     fprintf(stdprn, "\n\n\t\t    Days Input Menu\n\n");
  1132.     fprintf(stdprn, "\tA:  Go to General Menu\n");
  1133.     fprintf(stdprn, "\tB:  Go to Help Menu\n");
  1134.     fprintf(stdprn, "\tC:  Go to Animal Menu\n");
  1135.     fprintf(stdprn, "\tD:  Go to Cycle Length Menu\n");
  1136.     fprintf(stdprn, "\tE:  Go to Display Menu\n");
  1137.     fprintf(stdprn, "\tF:  Go to Cell Input Menu\n");
  1138.     fprintf(stdprn, "\tG:  (...Days Input Menu...)\n");
  1139.     fprintf(stdprn, "\tH:  Show Stage Length Data\n");
  1140.     fprintf(stdprn, "\tI:  Show Cell Sequence Data\n");
  1141.     fprintf(stdprn, "\tJ:  Show Input Cells\n\n");
  1142.     fprintf(stdprn, "\tX:  Exit Program\n");
  1143.     fprintf(stdprn, "\t?:  Show Help Screen\n");
  1144.   }
  1145. #else
  1146.   printf("\n\n\t\t    Days Input Menu\n\n");
  1147.   printf("\tA:  Go to General Menu\n");
  1148.   printf("\tB:  Go to Help Menu\n");
  1149.   printf("\tC:  Go to Animal Menu\n");
  1150.   printf("\tD:  Go to Cycle Length Menu\n");
  1151.   printf("\tE:  Go to Display Menu\n");
  1152.   printf("\tF:  Go to Cell Input Menu\n");
  1153.   printf("\tG:  (...Days Input Menu...)\n");
  1154.   printf("\tH:  Show Stage Length Data\n");
  1155.   printf("\tI:  Show Cell Sequence Data\n");
  1156.   printf("\tJ:  Show Input Cells\n\n");
  1157.   printf("\tX:  Exit Program\n");
  1158.   printf("\t?:  Show Help Screen\n");
  1159. #endif
  1160.   if (FILEq && FILECOPY) {
  1161.     fprintf(fpout, "\n\n\t\t    Days Input Menu\n\n");
  1162.     fprintf(fpout, "\tA:  Go to General Menu\n");
  1163.     fprintf(fpout, "\tB:  Go to Help Menu\n");
  1164.     fprintf(fpout, "\tC:  Go to Animal Menu\n");
  1165.     fprintf(fpout, "\tD:  Go to Cycle Length Menu\n");
  1166.     fprintf(fpout, "\tE:  Go to Display Menu\n");
  1167.     fprintf(fpout, "\tF:  Go to Cell Input Menu\n");
  1168.     fprintf(fpout, "\tG:  (...Days Input Menu...)\n");
  1169.     fprintf(fpout, "\tH:  Show Stage Length Data\n");
  1170.     fprintf(fpout, "\tI:  Show Cell Sequence Data\n");
  1171.     fprintf(fpout, "\tJ:  Show Input Cells\n\n");
  1172.     fprintf(fpout, "\tX:  Exit Program\n");
  1173.     fprintf(fpout, "\t?:  Show Help Screen\n");
  1174.   }
  1175. } /* daysmenu */
  1176.