

50 ON ERROR GOTO 1730
100     REM
110     REM
120     REM    WRITTEN BY ...TERENCE MURPHY...PLYMOUTH STATE COLLEGE
130     REM                                     PLYMOUTH,N.H.
140     REM
150     REM
160     &:&"<<< ITEM PRODUCTIVITY PROGRAM >>>"
170     &:&"    ***     WARNING:        ***
180     &"              1. SET TERMINAL WIDTH TO <132>"
190     &"              2. PAPER SIZE MUST BE <132>"
200     &:&"RULES:"
210     &"      1. BRAND NAME LENGTH = 24 MAX.
220     &"      2. ITEM NAME LENGTH  = 24 MAX."
230     &"      3. ITEM SIZE MUST BE IN OUNCES          EX. 28.5 OZ. = 28.5"
240     &"      4. RETAIL PRICE MUST BE IN DECIMAL      EX. 95 CENTS = .95"
250     &"      5. TOTAL UNITS SOLD MUST BE IN UNITS    EX. 12 UNITS = 12"
260     &"      6. SPACE OCCUPIED MUST BE IN DECIMAL    EX 1.95 SQ/FT = 1.95"
270     &:&"    *** SPECIAL NOTE:
280     &:&"            TOTAL NUMBER OF ITEM OF ALL BRANDS = 100 MAX."
285     WAIT 5
290     &:&:&:INPUT "TYPE YOUR INITIALS FOR FILE SPECIFICATION  3=MAX.";F0$
300     IF LEN(F0$)<4 THEN 320 ELSE &:&:&
310     &"      <<<DUMMYDUMMYDUMMYDUMMYDUMMY>>>" : &"I TOLD YOU THE   (MAX. = 33333333333)" : GOTO 290
320     I1$=F0$+".FIL" : I2$=F0$+".DTA"
330     &CHR$(13) FOR Z = 1 TO 3
340     ON ERROR GOTO 1730
350     F,F1,F2,F3,F4,F5,F6,F7,X9=0
360     OPEN I1$ AS FILE 1%
370     S=1
371     WAIT 0
380     INPUT "HOW MANY BRANDS";B
390     FOR K = 1 TO B
400     &"      BRAND #"K; : INPUT B$
410     S=2
420     IF LEN(B$) > 24 THEN &"MAX. = 24" : GOTO 400
430     &"HOW MANY ITEMS FOR ("B$")"; : INPUT I
440     FOR J = 1 TO I
450     &"              ITEM #"J; : INPUT B1$
460     IF LEN(B1$) > 24 THEN &"MAX. = 24" : GOTO 450
470     &"                      OUNCES FOR ("B1$")"; : INPUT B2$
480     &"                      RETAIL PRICE FOR ("B1$")"; : INPUT B3$
490     &"                      TOTAL UNITS SOLD FOR ("B1$")"; : INPUT B4$
500     &"                      SPACE OCCUPIED (SQ/FT) FOR ("B1$")"; : INPUT B5$
510     P=24-LEN(B$) : B$=B$+SPACE$(P)
520     P=24-LEN(B1$) : B1$=B1$+SPACE$(P)
530     P=5-LEN(B2$) : B2$=B2$+SPACE$(P)
540     P=5-LEN(B3$) : B3$=B3$+SPACE$(P)
550     P=3-LEN(B4$) : B4$=B4$+SPACE$(P)
560     P=5-LEN(B5$) : B5$=B5$+SPACE$(P)
570     T$=B$+B1$+B2$+B3$+B4$+B5$
580     &#1%,T$ : X9=X9+1
590     NEXT J
600     NEXT K
610     CLOSE 1%
620     OPEN I1$ FOR INPUT AS FILE 1%
630     OPEN I2$ AS FILE 2%
640     DIM #2%, A$(100,6)=24%
650     INPUT LINE #1%,R$
660     Y1=Y1+1
670     A$(Y1,1)=MID(R$,1,24):A$(Y1,2)=MID(R$,25,24):A$(Y1,3)=MID(R$,49,5)
680     A$(Y1,4)=MID(R$,54,5):A$(Y1,5)=MID(R$,59,3):A$(Y1,6)=MID(R$,62,5)
690     GOTO 650
700     FOR Y1 = 1 TO X9
710     F$=A$(Y1,5) : F=F+VAL(F$)
720     NEXT Y1
730     FOR Y1 = 1 TO X9
740     F$=A$(Y1,3) : F1$=A$(Y1,5) : F1=F1+(VAL(F$)*VAL(F1$))
750     NEXT Y1
760     FOR Y1 = 1 TO X9
770     F$=A$(Y1,4) : F1$=A$(Y1,5) : F2=F2+(VAL(F$)*VAL(F1$))
780     F3=F2*.25
790     NEXT Y1
800     &:&:&"YOU NOW HAVE 10 SECONDS TO SET PAPER !!!!!"
810     SLEEP 10 : &CHR$(13) FOR Z = 1 TO 2
820     A1$=SPACE$(81)+"S H A R E     OF     M A R K E T"+SPACE$(19)
830     A2$=SPACE$(90)+"% OF"+SPACE$(22)+"GROSS"+SPACE$(4)+"GROSS"+SPACE$(2)
840     A3$=SPACE$(35)+"TOTAL"+SPACE$(31)+"GROSS"+SPACE$(5)+"% OF"+SPACE$(4)
850     A3$=A3$+"GROSS"+SPACE$(14)+"% OF"+SPACE$(4)+"SALES"+SPACE$(4)
860     A3$=A3$+"MARGIN"+SPACE$(1)
870     A4$=SPACE$(26)+"RETAIL"+SPACE$(3)+"UNITS"+SPACE$(3)+"SPACE"+SPACE$(5)
880     A4$=A4$+"TOTAL"+SPACE$(3)+"TOTAL"+SPACE$(5)+"MARGIN"+SPACE$(4)+"TOTAL"
890     A4$=A4$+SPACE$(3)+"RETAIL"+SPACE$(4)+"% OF"+SPACE$(4)+"GROSS"+SPACE$(5)
900     A4$=A4$+"PER"+SPACE$(6)+"PER"+SPACE$(3)
910     A5$=SPACE$(26)+"PRICE"+SPACE$(4)+"SOLD"+SPACE$(4)+"(SQ/FT)"+SPACE$(3)
920     A5$=A5$+"OUNCES"+SPACE$(2)+"DOLLARS"+SPACE$(4)+"(25%)"+SPACE$(4)
930     A5$=A5$+"OUNCES"+SPACE$(2)+"SALES"+SPACE$(4)+"VOLUME"+SPACE$(3)+"MARGIN"
940     A5$=A5$+SPACE$(2)+"(SQ/FT)"+SPACE$(2)+"(SQ/FT)"+SPACE$(1)
950     &A1$
960     &SPACE$(81); : &"!------------------------------!"
970     &A2$:&A3$:&A4$:&A5$
980     &CHR$(61); FOR Z = 1 TO 132 : &CHR$(13)
990     FOR Y1=1 TO X9
1000    &CHR$(13)
1010    GOSUB 1030
1020    GOTO 1130
1030    G1=VAL(A$(Y1,3))*VAL(A$(Y1,5))
1040    G2=VAL(A$(Y1,4))*VAL(A$(Y1,5))
1050    G3=G2*.25
1060    G4=G1/F1*100 : F4=F4+G4
1070    G5=G2/F2*100 : F5=F5+G5
1080    G6=VAL(A$(Y1,5))/F*100 : F6=F6+G6
1090    G7=G3/F3*100 : F7=F7+G7
1100    G8=G2/VAL(A$(Y1,6))
1110    G9=G3/VAL(A$(Y1,6))
1120    RETURN
1130    H$="$$####.##" : H1$="######.##"
1140    H2$="#####.##%" 
1150    &A$(Y1,3)+"OZ."
1160    &A$(Y1,1);
1170    &USING H$,VAL(A$(Y1,4));
1180    &USING H1$,VAL(A$(Y1,5));
1190    &USING H1$,VAL(A$(Y1,6));
1200    &USING H1$,G1;
1210    &USING H$,G2;
1220    &USING H$,G3;
1230    &USING H2$,G4;
1240    &USING H2$,G5;
1250    &USING H2$,G6;
1260    &USING H2$,G7;
1270    &USING H$,G8;
1280    &USING H$,G9
1290    &A$(Y1,2)
1300    NEXT Y1
1310    &SPACE$(33); : &CHR$(45); FOR Z = 1 TO 9 : &SPACE$(9);
1320    &CHR$(45); FOR Z = 1 TO 63 : &CHR$(13)
1330    &"<<< TOTAL >>>           ";
1340    &SPACE$(9);
1350    &USING H1$,F;
1360    &SPACE$(9);
1370    &USING H1$,F1;
1380    &USING H$,F2;
1390    &USING H$,F3;
1400    &USING H2$,F4;
1410    &USING H2$,F5;
1420    &USING H2$,F6;
1430    &USING H2$,F7
1440    &CHR$(13)
1450    &CHR$(61); FOR Z = 1 TO 132 : &CHR$(13)
1460    &CHR$(13) : &"[ ** (BRAND SHARES) ** ]" : &"------------------------"
1470    &CHR$(13)
1480    H0$=A$(1,1) : X8=1
1490    FOR Y1 = X8 TO X9+1
1500    IF A$(Y1,1) = H0$ THEN 1660
1510    &A$(Y1-1,1);
1520    &SPACE$(9);
1530    &USING H1$,N1;
1540    &USING H1$,N2;
1550    &USING H1$,N3;
1560    &USING H$,N4;
1570    &USING H$,N5;
1580    &USING H2$,N6;
1590    &USING H2$,N7;
1600    &USING H2$,N8;
1610    &USING H2$,N9;
1620    &USING H$,N4/N2;
1630    &USING H$,N5/N2
1640    N1,N2,N3,N4,N5,N6,N7,N8,N9,O1,O2=0
1650    H0$=A$(Y1,1) : X8=Y1 : GOTO 1500
1660    IF Y1>X9 THEN 1710 ELSE GOSUB 1030
1670    N1=N1+VAL(A$(Y1,5)) : N2=N2+VAL(A$(Y1,6)) : N3=N3+G1 : N4=N4+G2
1680    N5=N5+G3 : N6=N6+G4 : N7=N7+G5 : N8=N8+G6 : N9=N9+G7
1690    H0$=A$(Y1,1)
1700    NEXT Y1
1710    &CHR$(13) : &CHR$(61); FOR J1 = 1 TO 132
1720    GOTO 1770
1730    IF ERR=11 THEN RESUME 700
1740    IF ERR=50 AND S=1 THEN RESUME 380
1750    IF ERR=50 AND S=2 THEN RESUME 430
1751    IF ERR=15 THEN &"WAKE UP!!!" : RESUME 285
1760    &"ERR="ERR"ERL="ERL
1770    CLOSE 1%,2% : &CHR$(13) FOR I = 1 TO 50
1771    INPUT "DO YOU WANT ANOTHER PRINT-OUT";P0$
1772    IF P0$<>"YES" THEN 1775
1773    F1,F2,F3,F4,F5,F6,F7,F8,F9,G1,G2,G3,G4,G5,G6,G7,G8,G9=0
1774    F,N1,N2,N3,N4,N5,N6,N7,N8,N9,O1,O2=0 : GOTO 620
1775    KILL I1$
1780    KILL I2$
1800    END

READY

	?
