home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Interactive Reference Guide / C-C++ Interactive Reference Guide.iso / c_ref / csource5 / 349_01 / sss.arc / EX_0403.C < prev    next >
Encoding:
C/C++ Source or Header  |  1991-04-09  |  911 b   |  64 lines

  1. /* Program EX_0403.C
  2.    Listing 7C - see documentation in TUTOR.SSS
  3. */
  4.  
  5. #include "SSSC.H"
  6.  
  7. #define ARRIVL 1
  8. #define STARTA 2
  9. #define ENDACT 3
  10.  
  11. int c, ecode;
  12.  
  13. void prime(void)
  14. {
  15.   INIQUE(0, 0, 1);
  16.   INISTA(1, "Occupancy", 1, 0, 0.0, 0.0);
  17.   SIMEND(40.0);
  18.   CREATE(0.0, 0);
  19.   c = 0;
  20.   TALLY(1, 0);
  21. }
  22.  
  23. void leavec(void)
  24. {
  25.   c++;
  26.   TALLY(1, (double)c);
  27.   SCHED(EX(20), ENDACT, 0);
  28.   DISPOS();
  29. }
  30.  
  31. void pickc(void)
  32. {
  33.   c--;
  34.   TALLY(1, (double)c);
  35.   DISPOS();
  36. }
  37.  
  38. main()
  39. {
  40.   prime();
  41.  
  42.   do
  43.   {
  44.     if ((ecode = NEXTEV()) > 0)
  45.     switch (ecode)
  46.     {
  47.       case ARRIVL:
  48.                 CREATE(EX(2), 0);
  49.                 SCHED(0.0, STARTA, 0);
  50.                 break;
  51.  
  52.       case STARTA:
  53.                 leavec();
  54.                 break;
  55.  
  56.       case ENDACT:
  57.                 pickc();
  58.                 break;
  59.     }
  60.   } while (ecode);
  61.  
  62.   SUMRY("");
  63. }
  64.