10DIM n$(300), s$(300), c$(300), t$(300), z$(300), p$(300)
16TEXT
17? "PLACE FILE DISK OR DDP IN DRIVETHEN PRESS ANY KEY TO    CON TINUE"
18GET gg$
20 cl$=CHR$(12)
21 d$=CHR$(4)
25? cl$
26? TAB(15); "MEUN":?:?
30? "1. START NEW FILE"
31? "2. USE CURRENT FILE"
32?:? "OPTION 1 WILL ERASE FILE       CURRENTLY STORED"
33GET gg$:IF gg$<"1" OR gg$>"2" THEN 33
34IF gg$="1" THEN 100
36? cl$:? "Reading file into memory": x=0
37? d$; "OPEN ADDRESS"
38? d$; "READ ADDRESS"
39 x=x+1
40INPUT n$(x)
41IF n$(x)="/DONE" OR n$(x)="/done" THEN  x=x-1:GOTO 45
42INPUT s$(x):INPUT c$(x)
43INPUT t$(x):INPUT z$(x):INPUT p$(x)
44 x=x+1:GOTO 40
45? d$; "CLOSE ADDRESS"
46? d$; "CLOSE ADDRESS":? "HIT ANY KEY TO CONTINUE"
47GET gg$:IF gg$="" THEN 47
49? cl$
50? TAB(15); "MENU":?
51ONERR  GOTO 49
53? "1.  LIST DATA ON PRINTER"
54? "2.  FIND ONE ITEM":? "3.  SORT BY NAME"
55? "4.  ADD TO FILE":? "5.  DELETE FROM FILE":? "6.  EXIT"
56GET gg:IF gg<1 OR gg>6 THEN 56
60? cl$
70ON gg GOTO 1200, 1350, 1500, 105, 1750, 1900
100REM                       ** INPUT DATA
101 x=0
105? cl$
110? "ENTER NAME, LAST NAME FIRST":? "(27 LETTERS MAX)"
111?
115? "ENTER STREET NUMBER AND NAME":? "(27 CHARACTERS MAX)"
116?
117? "ENTER CITY(22 LETTERS MAX)"
118?
119? "ENTER STATE(17 LETTERS MAX)"
120?
121? "ENTER ZIP CODE(5 DIGITS MAX)"
122?
130? "ENTER PHONE NUMBER":? "ie: 123-456-7890"
135?:? "ENTER /DONE FOR NAME WHEN      ALL DONE ENTERING     DATA"
136?
140? "HIT ANY KEY TO CONTINUE"
150GET qq$:IF qq$="" THEN 150
151? cl$
152 x=x+1
160INPUT "NAME: "; n$(x)
165IF n$(x)="/DONE" OR n$(x)="/done" THEN 291
166IF LEN(n$(x))>27 OR LEN(n$(x))<1 THEN GOTO 160
170INPUT "STREET: "; s$(x)
171IF LEN(s$(x))>27 OR LEN(s$(x))<1 THEN 170
172INPUT "CITY: "; c$(x)
173IF LEN(c$(x))>22 OR LEN(c$(x))<1 THEN 172
174INPUT "STATE: "; t$(x)
175IF LEN(t$(x))>17 OR LEN(t$(x))<1 THEN 174
180INPUT "ZIP CODE: "; z$(x)
190IF LEN(z$(x))>5 OR LEN(z$(x))<1 THEN 180
200INPUT "PHONE: "; p$(x)
210IF LEN(p$(x))>12 THEN 200
211IF LEN(p$(x))<=1 THEN  p$(x)="000-0000"
220?
290GOTO 151
291 n$(x)="/done": s$(x)="FF"
292 t$(x)="FF": z$(x)="FF": p$(x)="FF"
295REM                       ** REVIEW DATA
296? cl$
300? "DO YOU WISH TO REVIEW DATA     BEFORE SAVING?(Y/N)"
310GET gg$:IF gg$="" THEN 310
320IF gg$="Y" OR gg$="y" THEN 400
330IF gg$="N" OR gg$="n" THEN 350
340GOTO 295
350GOTO 630
400? cl$: t=0: k=x-1
410FOR t=1 TO k:FLASH:? "RECORD NUMBER: "; t:NORMAL:?
411? n$(t):?
412? "CORRECT(Y/N)"
413GET gg$
415IF gg$="Y" OR gg$="y" THEN 418
416?:INPUT "ENTER CORRECT INFO: "; n$(t)
417IF LEN(n$(t))>27 OR LEN(n$(t))<1 THEN 416
418?:? s$(t):?
419? "CORRECT(Y/N)"
420GET gg$
421IF gg$="Y" OR gg$="y" THEN 424
422?:INPUT "ENTER CORRECT INFO: "; s$(t)
423IF LEN(s$(t))>27 OR LEN(s$(t))<1 THEN 422
424?:? c$(t):?
425? "CORRECT(Y/N)"
426GET gg$
427IF gg$="Y" OR gg$="y" THEN 430
428?:INPUT "ENTER CORRECT INFO: "; c$(t)
429IF LEN(c$(t))>22 OR LEN(c$(t))<1 THEN 428
430?:? t$(t):?
431? "CORRECT(Y/N)"
432GET gg$
433IF gg$="Y" OR gg$="y" THEN 436
434?:INPUT "ENTER CORRECT INFO: "; t$(t)
435IF LEN(t$(t))>17 OR LEN(t$(t))<1 THEN 434
436?:? z$(t):?
437? "CORRECT(Y/N)"
438GET gg$
439IF gg$="Y" OR gg$="y" THEN 442
440?:INPUT "ENTER CORRECT INFO: "; z$(t)
441IF LEN(z$(t))>5 OR LEN(z$(t))<1 THEN 440
442?:? p$(t):?
443? "CORRECT(Y/N)"
444GET gg$
445IF gg$="Y" OR gg$="y" THEN 465
450?:INPUT "ENTER CORRECT INFO: "; p$(t)
460IF LEN(p$(t))>12 THEN 450
461IF LEN(p$(t))<=1 THEN  p$(t)="000-0000"
465?
470NEXT t
630? cl$:? "ALL DONE...SAVING DATA NOW"
650 t=0
660? d$; "OPEN ADDRESS"
670? d$; "WRITE ADDRESS"
680FOR t=1 TO x
690? n$(t):? s$(t):? c$(t)
700? t$(t):? z$(t)
710? p$(t)
720NEXT t
730? d$; "CLOSE ADDRESS"
735 x=x-1
740GOTO 49
1200REM                     ** LIST TO PRINTER
1205PR #1: t=0: fs=0
1220FOR t=1 TO x
1224? n$(t):? s$(t):? c$(t); " "; t$(t); " "; z$(t):? p$(t)
1225?:?:?
1250NEXT t
1260PR #0
1300GOTO 49
1350REM                     ** FIND ONE ITEM
1355 t=0: fs=0
1360INPUT "NAME: "; wn$:?
1380FOR t=1 TO x
1390IF wn$=n$(t) THEN  fs=t
1400NEXT t
1410? cl$:? "RECORD NUMBER"; fs:?
1420? n$(fs):? s$(fs):? c$(fs)
1430? t$(fs):? z$(fs)
1440? p$(fs):?
1450? "HIT ANY KEY TO CONTINUE"
1460GET gg$:IF gg$="" THEN 1460
1470GOTO 49
1500REM                     ** SORT DATA
1505 g=0: k=0: j=0: i=0: ro=0: point=0
1510? "SORTING DATA, PLEASE WAIT"
1530FOR g=1 TO x-1
1531 point=g
1535FOR k=g+1 TO x
1540IF n$(point)>n$(k) THEN  point=k
1545NEXT k
1550IF g=point THEN 1600
1555 q$=n$(g): qs$=s$(g): qc$=c$(g): qt$=t$(g): qz$=z$(g):   qp$=p$(g)
1556 n$(g)=n$(point): s$(g)=s$(point): c$(g)=c$(point):      t$(g)=t$(point): z$(g)=z$(point): p$(g)=p$(point)
1557 n$(point)=q$: s$(point)=qs$: c$(point)=qc$:             t$(point)=qt$: z$(point)=qz$: p$(point)=qp$
1600NEXT g
1610?:?:?:SPEED =100:? "   A L L  D O N E":SPEED =250
1620IF xtx$="HELP" THEN  n$(x)="/DONE": s$(x)="F":           c$(x)="F": t$(x)="F": z$(x)="F": p$(x)="000-0000"
1621IF xtx$="HELP" THEN  xtx$="OK":GOTO 630
1630GOTO 49
1750REM                     ** DELETE DATA
1755 t=0: fs=0
1760? "ENTER DATA TO BE DELETED":?
1765INPUT "NAME: "; dn$
1775FOR t=1 TO x
1780IF n$(t)=dn$ THEN  fs=t
1781NEXT t
1791 n$(fs)="ZZZZ": s$(fs)="ZZ": t$(fs)="ZZ": z$(fs)="Z":    p$(fs)="Z": c$(fs)="Z"
1795 xtx$="HELP"
1800GOTO 1500
1812 n$(fs)="ZZZZ": z$(fs)="Z": s$(fs)="Z": c$(fs)="Z":      t$(fs)="Z": p$(fs)="Z"
1900END

