5 PRINT:PRINT:PRINT"This program is presented under the freeware concept. If you find it useful, please send a donation of $10.00. THANKS !!!"
6 PRINT:PRINT:PRINT"The program will set up it's own files on start-up for the first time. The program uses 4 files, so on some systems when loading basica, you will have to type an extension `/f=4'to basica (basica /f=4).
7 PRINT:PRINT TAB(10)"To continue, hit any key."
8 Y$=INKEY$:IF Y$="" THEN 8 ELSE 10
10 CLS
20 CLEAR 10000
28 ON ERROR GOTO 6000
30 OPEN "i" , #1 , "memb"
40 OPEN "i" , #2 , "dues"
50 OPEN "i" , #3 , "paid"
55 OPEN "i" , #4 , "expense"
60 DIM LAST$(40),FIRST$(40),STREET$(40),CITY$(40),STATE$(40),ZIP(40),DUES(20),DUESDT$(20),PAID(40,20),PAIDDT$(40,20),PAY(40),TPAID(40),EXPENSE$(12,10),EXPENSE(12,10),EXPENSEDT$(12,10),EXPENSE#(12),TRECEIPTS(12),TRECEIVED(12,10),TEXPENSE(12)
400 CLOSE:INPUT"type the # of the item you wish to do : 1-Enter new members 2-Change a member's record 3-Enter a dues charge 4-Enter a payment 5-Enter expense & payments 6-goto printouts 7-Save & End";ANSWER
402 CHANGE.MARK=0
410 ON ANSWER GOTO 1100,1200,1300,1400,1620,2000,5000
1100 INPUT"Enter the member's first name --------------------";FIRST$(MM):IF CHANGE.MARK=1 THEN RETURN
1110 INPUT"Enter the member's last name ----------------------";LAST$(MM):IF CHANGE.MARK = 1 THEN RETURN
1120 INPUT"Enter the member's street address -----------------";STREET$(MM):IF CHANGE.MARK = 1 THEN RETURN
1130 INPUT"Enter the member's city ---------------------------";CITY$(MM):IF CHANGE.MARK = 1 THEN RETURN
1140 INPUT"Enter the member's state --------------------------";STATE$(MM):IF CHANGE.MARK = 1 THEN RETURN
1150 INPUT"Enter the member's zip ----------------------------";ZIP(MM):IF CHANGE.MARK = 1 THEN RETURN
1160 MM=MM+1
1170 INPUT"If you want to enter another, type an `1', if not type a `2' -";ANSWER
1180 ON ANSWER GOTO 1100,400
1200 CHANGE.MARK=1 ' remember area to change records
1210 INPUT"Type the last name to be changed -";LASTNAME$
1220 M=1
1230 IF LASTNAME$=LAST$(M) THEN GOTO 1250 ELSE M=M+1:IF M>MM THEN PRINT"Sorry, no such name listed yet,please enter it.":FOR A = 1 TO 500:NEXT:GOTO 260
1240 GOTO 1230
1250 MMM=MM
1251 PRINT"Which item do you want to change?"
1252 PRINT TAB(15)"1- Member's first name --"FIRST$(M)
1254 PRINT TAB(15)"2- Member's last name --"LAST$(M)
1256 PRINT TAB(15)"3- Street address --"STREET$(M)
1258 PRINT TAB(15)"4- Member's city --"CITY$(M)
1260 PRINT TAB(15)"5- Member's state --"STATE$(M)
1262 PRINT TAB(15)"6- Member's zip code --"ZIP(M)
1263 PRINT TAB(15)"7- no more changes"
1264 INPUT CHANGE#
1265 MM=M
1266 ON CHANGE# GOSUB 1100,1110,1120,1130,1140,1150,1270
1268 GOTO 1251
1270 MM=MMM:MMM=0:M=0:GOTO 400
1300 INPUT"Enter the amount of the new dues -----";DUES(DD)
1310 INPUT"Enter the date charged ---------------";DUESDT$(DD)
1320 DUES#=DUES#+1
1330 DD=DD+1
1340 INPUT"If you want to enter another type a`1', if not type a `2' -";ANSWER
1350 ON ANSWER GOTO 1300,400
1400 INPUT"Type the last name payment to be credited to -";LASTNAME$
1410 M=1
1420 IF LASTNAME$=LAST$(M) THEN GOTO 1440 ELSE M=M+1:IF M>MM THEN PRINT"Sorry, no such name listed yet,please enter it.":FOR A = 1 TO 500:NEXT:GOTO 1100
1430 GOTO 1420
1440 P=PAY(M) + 1:PAY(M) = P:PP=PP+1
1470 PRINT LAST$(M)"'s payment is ---":INPUT PAID(M,P)
1480 INPUT"Enter the date paid (##/##/##) ---";PAIDDT$(M,P)
1490 INPUT"If you want to enter another, type a`1', if not type a`2' --";ANSWER
1500 ON ANSWER GOTO 1400,400
1620 PRINT:PRINT:PRINT:PRINT:PRINT TAB(20)"Enter your new expense payments."
1630 PRINT:PRINT:PRINT:PRINT
1640 INPUT"Enter date of payment -------------";EXPENSEDT1$
1650 MO = VAL(LEFT$(EXPENSEDT1$,2)):EXPENSE#(MO)=EXPENSE#(MO)+1:E=EXPENSE#(MO):EXPENSEDT$(MO,E)=EXPENSEDT1$
1660 INPUT"Enter amount of expense -----------";EXPENSE(MO,E)
1710 INPUT"If you want to enter another expense, then type `1', if not type `2' -";ANSWER
1720 ON ANSWER GOTO 1620,400
2000 CLS:PRINT"Type in the # of the form you want to print : 1 - Statements 2 - Membership Summary 3 - Monthly expense summary 4 - Mailing Labels 5- End":INPUT ANSWER
2010 M=1:P=1
2020 ON ANSWER GOTO 2100,3000,3500,4000,5400
2100 FOR C = 1 TO MM-1
2110 GOSUB 2360
2120 LPRINT TAB(10)"BAY AREA PHYSICIANS, P.C."
2130 LPRINT TAB(10)"DOCTORS' PARK of ESCANABA"
2140 LPRINT TAB(10)"ESCANABA, MICHIGAN 49829"
2150 GOSUB 2360
2160 LPRINT TAB(10) FIRST$(M)" "LAST$(M)
2170 LPRINT TAB(10) STREET$(M)
2180 LPRINT TAB(10) CITY$(M)","STATE$(M)" "ZIP(M)
2190 GOSUB 2360
2200 LPRINT STRING$(78,"*")
2210 LPRINT" BILLING - DATE - AMOUNT - DATE PAID - PAID"
2220 LPRINT STRING$(78,"*")
2230 LPRINT
2238 FOR D = 1 TO DUES#
2240 LPRINT TAB(21) DUESDT$(D)" $"DUES(D)
2250 NEXT
2280 IF PAY(M) => 1 AND P =< PAY(M) THEN 2290 ELSE 2300