SOURCE CODE FOR PARTY PROGRAM

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN () AS LONG

    DIM srm AS LONG: DIM scm AS LONG
    DIM i AS INTEGER: DIM np AS INTEGER: DIM y() AS INTEGER
    DIM tot AS INTEGER:DIM k AS INTEGER: DIM d AS INTEGER
    DIM j AS INTEGER
    DIM ry AS STRING



    DESKTOP GET SIZE TO srm&, scm&


    CONSOLE SET SCREEN srm&/16,scm&/4

    COLOR 14,1,4
    CLS

  startx:
  CLS

FOR I%=1 TO 6:PRINT:NEXT I%

PRINT "                     THIS PROGRAM SIMULATES PEOPLE ARRIVING AT RANDOM TO A PARTY"
PRINT

PRINT "                     IT CHECKS TO SEE IF ANY TWO PEOPLE PRESENT HAVE THE SAME BIRTH DATE"
PRINT

PRINT "                     TYPE IN THE NUMBER OF PARTIES YOU WISH TO RUN THE PROGRAM FOR & ENTER"
PRINT

PRINT "                    MAXIMUM NUMBER OF PARTIES IS 500"
PRINT:PRINT

PRINT "                    USE THE SPACE BAR TO CONTINUE THE RUN"
PRINT "                    SO THAT YOU CAN SEE INDIVIDUAL PARTIES"


FOR I%=1 TO 5:?:NEXT I%

INPUT "                   TYPE IN NO. OF PARTIES ";NP%
IF NP%>500 THEN STARTX

CLS

DIM Y%(365)

TOT%=0

FOR J%=1 TO NP%

FOR I%=1 TO 365:Y%(I%)=0:NEXT I%

RANDOMIZE TIMER



FOR K%=1 TO 365

D%=RND(1)*364:IF D%=0 THEN L2

IF Y%(D%)=1 THEN PRINT "                     PARTY NO. ";J%;" ";K%;" PEOPLE CAME IN":TOT%=TOT%+K%:GOTO L3

Y%(D%)=1

L2:

NEXT K%

L3:

WAITKEY$

NEXT J%

?:?

PRINT"                     THE AVERAGE OVER ";NP%;" PARTIES WAS ";INT(TOT%/NP%);" PEOPLE"

?:?


INPUT "                    DO ANOTHER  RUN? (Y/N) ";ry$: RY$=UCASE$(RY$):IF ry$="Y" GOTO startx

END


END FUNCTION                                    
                                                          

BACK TO PROGRAM