home *** CD-ROM | disk | FTP | other *** search
- /* Program EX_0403.C
- Listing 7C - see documentation in TUTOR.SSS
- */
-
- #include "SSSC.H"
-
- #define ARRIVL 1
- #define STARTA 2
- #define ENDACT 3
-
- int c, ecode;
-
- void prime(void)
- {
- INIQUE(0, 0, 1);
- INISTA(1, "Occupancy", 1, 0, 0.0, 0.0);
- SIMEND(40.0);
- CREATE(0.0, 0);
- c = 0;
- TALLY(1, 0);
- }
-
- void leavec(void)
- {
- c++;
- TALLY(1, (double)c);
- SCHED(EX(20), ENDACT, 0);
- DISPOS();
- }
-
- void pickc(void)
- {
- c--;
- TALLY(1, (double)c);
- DISPOS();
- }
-
- main()
- {
- prime();
-
- do
- {
- if ((ecode = NEXTEV()) > 0)
- switch (ecode)
- {
- case ARRIVL:
- CREATE(EX(2), 0);
- SCHED(0.0, STARTA, 0);
- break;
-
- case STARTA:
- leavec();
- break;
-
- case ENDACT:
- pickc();
- break;
- }
- } while (ecode);
-
- SUMRY("");
- }