home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / basic / invstmnt.lbr / STOCGRPH.BQS / STOCGRPH.BAS
Encoding:
BASIC Source File  |  1985-02-09  |  2.8 KB  |  124 lines

  1. 10 PRINT "STOCK RECORD"
  2. 11 PRINT "DO YOU WANT TO PRINT THE TABLE OF PRICES ON THE SCREEN"
  3. 12 PRINT "INSTEAD OF AT THE PRINTER";:INPUT V$
  4. 13 IF V$="Y" THEN GOSUB 500 
  5. 14 PRINT "NAME OF STOCK";:INPUT Z$
  6. 15 LPRINT "*************";Z$;"*************"
  7. 16 PRINT "ENTER DATE";:INPUT Y$
  8. 17 LPRINT "DATE PREPARED: "; Y$
  9. 20 LPRINT:LPRINT "WEEK", "PRICE", "GAIN/LOSS"
  10. 30 S=0:D=0
  11. 31 Z=0
  12. 40 REM
  13. 45 I=0
  14. 50 I=I+1
  15. 60 READ W
  16. 70 IF I=1 THEN 110
  17. 80 IF W<0 THEN 140
  18. 90 D=W-W1
  19. 100 S=S+D
  20. 110 LPRINT I,W,D
  21. 120 W1=W
  22. 121 Z=Z+W
  23. 130 GOTO 50
  24. 140 LPRINT "AVG. WEEKLY CHANGE:";S/(I-1);"POINTS"
  25. 160 LPRINT "TOTAL CHANGE:      ";S;"POINTS"
  26. 161 LPRINT "AVERAGE PRICE:    $";Z/(I-1)
  27. 170 LPRINT:LPRINT
  28. 171 PRINT "HAVE YOU ALREADY ENTERED STOCK NAME AND DATE":INPUT T$
  29. 172 IF T$="Y" THEN GOTO 260
  30. 173 PRINT "NAME OF STOCK";:INPUT Z$
  31. 174 LPRINT "*************";Z$;"*************"
  32. 175 PRINT "ENTER DATE";:INPUT Y$
  33. 176 LPRINT "DATE PREPARED: "; Y$:LPRINT:LPRINT:
  34. 260 PRINT:PRINT "SET RANGE FOR GRAPH"
  35. 270 A=0:B=0:C=0
  36. 280 PRINT "WHAT IS THE SMALLEST NUMBER YOU WANT";
  37. 281 INPUT A
  38. 282 PRINT "WHAT IS THE LARGEST NUMBER YOU WANT";
  39. 283 INPUT B
  40. 284 PRINT "STEP 1, 5 OR 10";
  41. 285 INPUT C
  42. 286 PRINT "DO YOU WANT TO TEST GRAPH ON SCREEN BEFORE PRINTING":INPUT R$
  43. 287 IF R$="Y" THEN GOSUB 715
  44. 303 GOSUB 315
  45. 305 PRINT "WANT ANOTHER GRAPH";: INPUT A$
  46. 307 IF A$="Y" THEN 270
  47. 309 GOTO 999
  48. 315 REM
  49. 316 X=0
  50. 317 REM
  51. 330 FOR I=A TO B STEP C
  52. 340 LPRINT TAB(X*70*(C/(B-A))+5);I;
  53. 350 X=X+1
  54. 360 NEXT I
  55. 370 LPRINT
  56. 375 REM
  57. 380 LPRINT "   |";
  58. 390 FOR I=0 TO (X-1)
  59. 400 LPRINT TAB(I*70*(C/(B-A))+7);"+";
  60. 410 NEXT I
  61. 420 LPRINT
  62. 425 RESTORE
  63. 428 REM
  64. 429 I=0
  65. 430 I=I+1
  66. 440 READ W
  67. 450 IF W<0 THEN 480
  68. 460 LPRINT I;TAB((W-A)*(70/(B-A))+6);"*"
  69. 470 GOTO 430
  70. 480 RETURN
  71. 500 PRINT:PRINT "WEEK", "PRICE", "GAIN/LOSS"
  72. 501 S=0:D=0
  73. 502 Z=0
  74. 503 REM
  75. 504 I=0
  76. 505 I=I+1
  77. 510 READ W
  78. 520 IF I=1 THEN 560
  79. 530 IF W<0 THEN 590
  80. 540 D=W-W1
  81. 550 S=S+D
  82. 560 PRINT I,W,D
  83. 570 W1=W
  84. 571 Z=Z+W
  85. 580 GOTO 505
  86. 590 PRINT "AVG. WEEKLY CHANGE:";S/(I-1);"POINTS"
  87. 591 PRINT "TOTAL CHANGE:      ";S;"POINTS"
  88. 592 PRINT "AVERAGE PRICE:    $";Z/(I-1)
  89. 593 PRINT "DO YOU WANT TO PRINT THE TABLE NOW":INPUT U$
  90. 594 IF U$="Y" THEN RESTORE ELSE GOTO 171
  91. 595 RETURN
  92. 715 REM
  93. 716 X=0
  94. 717 REM
  95. 730 FOR I=A TO B STEP C
  96. 740 PRINT TAB(X*70*(C/(B-A))+5);I;
  97. 750 X=X+1
  98. 760 NEXT I
  99. 770 PRINT
  100. 775 REM
  101. 780 PRINT "   |";
  102. 790 FOR I=0 TO (X-1)
  103. 800 PRINT TAB(I*70*(C/(B-A))+7);"+";
  104. 810 NEXT I
  105. 820 PRINT
  106. 825 RESTORE
  107. 828 REM
  108. 829 I=0
  109. 830 I=I+1
  110. 840 READ W
  111. 850 IF W<0 THEN 880
  112. 860 PRINT I;TAB((W-A)*(70/(B-A))+6);"*"
  113. 870 GOTO 830
  114. 880 PRINT "DO YOU WANT TO PRINT GRAPH NOW":INPUT P$
  115. 881 IF P$="N" THEN 260
  116. 890 RETURN
  117. 998 DATA -1
  118. 999 END
  119. 
  120. 870 GOTO 830
  121. 880 PRINT "DO YOU WANT TO PRINT GRAPH NOW":INPUT P$
  122. 881 IF P$="N" THEN 260
  123. 890 RETURN
  124. 9