Do you wonder if you will ever “get ahead” financially? Personal Net Worth keeps track of your personal finances and figures your current net worth.
It calculates, stores and plots your net worth for 14 years. The table option shows yearly total assets, liabilities and net worth.
Once the array is full, the program lets you add years by deleting the oldest year. With this routine, you don’t need to reenter data in new array locations.
Lines 4000 on tell you how to initialize the program. DIMension each variable in line 4010 by preceding it with DIM and pressing ENTER. For lines 4020 on precede each variable with LET and enclose words in quotes. For example, LET N$=”NET WORTH” (ENTER). In line 4030, LET A(1,1) equal the 4-digit year you want to start with, no quotes necessary. (Delete lines 4000-4060 after initializing to save memory.–AZ)
To start, GOTO 10. Pick function 3 to SAVE. After reloading, the program self-executes to reduce the risk of clearing data. After entering data, do not RUN or you lose all data entries including initialization.
Lines 2080-2130 automatically scale the graph. If the current range of numbers doesn’t fit your situation, change the values.
To print the table out, change PRINT in lines 2390-2450 to LPRINT (or comparable printer command) and delete lines 2460, 2480, 2490 and 2500. Line 2220 keeps the program from plotting a negative net worth.
When you choose the table option to display data, the program stops after two years. Press CONT and ENTER to proceed.
Inverse graphics are:
990 DATA ENTRY 2999 SAVE DATA 1990 DISPLAY DATA 4000 INITIALIZE
1 REM PERSONAL NET WORTH
2 REM R. CRUM FEB.6,1983
10 PRINT AT 0,5;"PERSONAL NET WORTH"
20 PRINT "SELECT FUNCTION"
30 PRINT AT 3,3;"1.ENTER DATA";AT 4,3;"2.DISPLAY DATA";AT 5,3;"3.SAVE DATA"
40 INPUT A
50 IF A<1 OR A>3 THEN GOTO 40
60 CLS
70 GOTO A*1000
990 REM DATA ENTRY
1000 PRINT "LAST ENTRY WAS FOR ";A(Y,1)
1010 IF A(14,12)<>0 THEN GOTO 1270
1020 PRINT "WHAT YEAR? "
1030 INPUT R
1040 FOR I=1 TO 14
1050 IF A(I,1)=R THEN GOTO 1090
1060 NEXT I
1070 LET A(Y+1,1)=R
1080 LET Y=Y+1
1090 CLS
1100 FOR I=1 TO 9
1110 PRINT A$(I);" AMT?"
1120 INPUT A(Y,I+1)
1130 CLS
1140 NEXT I
1150 LET A(Y,11)=A(Y,2)+A(Y,3)+A(Y,4)+A(Y,5)
1160 LET A(Y,12)=A(Y,11)+A(Y,6)+A(Y,7)+A(Y,8)+A(Y,9)+A(Y,10)
1170 FOR I=1 TO 6
1180 CLS
1190 PRINT L$(I);" AMT?"
1200 INPUT L(Y,I)
1210 NEXT I
1220 LET L(Y,7)=L(Y,1)+L(Y,2)+L(Y,3)+L(Y,4)
1230 LET L(Y,8)=L(Y,7)+L(Y,5)+L(Y,6)
1240 LET N(Y)=A(Y,12)-L(Y,8)
1250 CLS
1260 GOTO 10
1270 PRINT "DATA STORAGE FULL"
1280 PRINT "WANT TO SHIFT DATA? (WILL LOSE "
1290 PRINT "OLDEST YEAR) (Y=YES,N=NO)"
1300 INPUT R$
1310 CLS
1320 IF R$="N" THEN GOTO 10
1330 FOR I=1 TO 13
1340 FOR J=1 TO 12
1350 LET A(I,J)=A(I+1,J)
1360 NEXT J
1370 NEXT I
1380 FOR I=1 TO 12
1390 LET A(14,I)=0
1400 NEXT I
1410 FOR I=1 TO 13
1420 FOR J=1 TO 8
1430 LET L(I,J)=L(I+1,J)
1440 NEXT J
1450 NEXT I
1460 FOR I=1 TO 8
1470 LET L(14,I)=0
1480 NEXT I
1490 FOR I=1 TO 13
1500 LET N(I)=N(I+1)
1510 NEXT I
1520 LET N(14)=0
1530 LET Y=Y-1
1540 PRINT "DATA SHIFT DONE"
1550 PAUSE 300
1560 CLS
1570 GOTO 10
1999 REM DISPLAY DATA
2000 PRINT "DO YOU WANT TABLE OR GRAPH?"
2010 PRINT "ENTER ""T"" OR ""G"""
2020 INPUT R$
2030 IF R$="T" THEN GOTO 2370
2040 LET MAX=0
2050 FOR I=1 TO 14
2060 IF N(I)>MAX THEN LET MAX=N(I)
2070 NEXT I
2080 IF MAX/1000<=5 THEN LET MYP=5
2090 IF MAX/1000>5 AND MAX/1000<=20 THEN LET MYP=20
2100 IF MAX/1000>20 AND MAX/1000<=40 THEN LET MYP=40
2110 IF MAX/1000>40 AND MAX/1000<=60 THEN LET MYP=60
2120 IF MAX/1000>60 AND MAX/1000<=80 THEN LET MYP=80
2130 IF MAX/1000>80 AND MAX/1000<=100 THEN LET MYP=100
2140 CLS
2150 FOR I=0 TO .75 STEP .25
2160 PRINT AT I*20,0;MYP-I*MYP
2170 NEXT I
2180 FOR I=0 TO 19
2190 PRINT AT I,4;"-"
2200 NEXT I
2210 FOR I=0 TO Y-1
2220 IF N(I+1)<0 THEN GOTO 2270
2230 FOR J=4 TO ((N(I+1)/1000)/MYP)*43
2240 PLOT 13+3*I,J
2250 PLOT 14+3*I,J
2260 NEXT J
2270 NEXT I
2280 LET Y$=STR$ A(1,1)+"-"+STR$ A(Y,1)
2290 PRINT AT 21,16-LEN Y$/2;Y$
2300 POKE 16418,0
2310 PRINT AT 22,2;"PRESS ""CONT"", THEN ""CONT"" AND ""ENTER"" TO RETURN TO MENU"
2320 POKE 16418,2
2330 PAUSE 4E4
2340 STOP
2350 CLS
2360 GOTO 10
2370 CLS
2380 FOR I=1 TO Y
2390 PRINT "YEAR: ";A(I,1)
2400 PRINT A$(10)," $";A(I,11)
2410 PRINT A$(11)," $";A(I,12)
2420 PRINT L$(7)," $";L(I,7)
2430 PRINT L$(8)," $";L(I,8)
2440 PRINT N$;" $";N(I)
2450 PRINT
2460 IF I/2=INT (I/2) THEN GOTO 2480
2470 NEXT I
2480 STOP
2490 CLS
2500 NEXT I
2510 GOTO 10
2999 REM SAVE DATA
3000 CLS
3010 PRINT "PREPARE TAPE RECORDER"
3020 PRINT "PRESS ""CONT"" TO SAVE"
3030 PAUSE 4E4
3040 SAVE "WORTH"
3045 CLS
3050 GOTO 10
4000 REM INITIALIZE
4010 REM DIM A(14,12);A$(11,27);L(14,8);L$(8,27);N(14)
4020 REM N$=NET WORTH
4030 REM A(1,1)=FIRST YEAR-4 DIGITS
4040 REM Y=1
4050 REM A$(1)=CASH;A$(2)=ASSETS AND NOTES RECEIVABLE;A$(3)=SECURITIES;A$(4)=OTHER CURRENT ASSETS;A$(5)=REAL ESTATE;A$(6)=LIFE INSURANCE-CASH VALUE;A$(7)=AUTOMOBILES;A$(8)=PERSONAL PROPERTY;A$(9)=OTHER LONG TERM ASSETS;A$(10)=TOTAL CURRENT ASSETS;A$(11)=TOTAL ASSETS
4060 REM L$(1)=NOTES PAYABLE TO BANKS;L$(2)=NOTES PAYABLE TO OTHERS;L$(3)=ACCOUNTS AND BILLS DUE;L$(4)=OTHER CURRENT LIABILITIES;L$(5)=MORGTAGES;L$(6)=OTHER LONG TERM LIABILITIES;L$(7)=TOTAL CURRENT LIABILITIES;L$(8)=TOTAL LIABILITIES
SYNTACTIC SUM: 11613, 8K ROM
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.