home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib37b.dsk / REGISTER.bas < prev    next >
BASIC Source File  |  2023-02-26  |  3KB  |  56 lines

  1. 10  DIM X(6):TP = 5: REM   5% SALES TAX
  2. 20  REM   SALE TYPE SELECTION MODULE
  3. 30  HOME : PRINT : PRINT  TAB( 14);"TYPE OF SALE:": PRINT : PRINT 
  4. 40  PRINT "1) CASH": PRINT : PRINT "2) CHARGE": PRINT : PRINT "3) REFUND": PRINT : PRINT "4) TOTALS": PRINT : PRINT "5) QUIT"
  5. 50  PRINT : PRINT "CHOOSE ONE: ";: GET A$:TY =  VAL(A$)
  6. 60  IF TY <1  OR TY >5  THEN  PRINT  CHR$(7): GOTO 30
  7. 70  ON TY GOTO 90,90,310,460,550
  8. 80  REM    CASH/CREDIT SALE ENTRY MODULE
  9. 90 N = 1:S = 1:TS = 0
  10. 100  HOME : PRINT "PRESS RETURN AFTER EACH ITEM."
  11. 110  PRINT "ENTER RETURN ALONE FOR LAST ITEM.": PRINT 
  12. 120  PRINT "ITEM #";N;"  ";: INPUT A$:X(S) =  VAL(A$)
  13. 130  IF X(S) = 0  THEN  GOTO 160
  14. 140 N = N +1:S = S +1: IF S <6 GOTO 120
  15. 150  REM   TOTAL THIS SALE
  16. 160  FOR S = 1 TO N:TS = TS +X(S): NEXT S
  17. 170 TS =  INT((TS +.005) *100)/100
  18. 180  PRINT : PRINT  TAB( 8);"TOTAL SALE:  ";TS
  19. 190 TX =  INT(((TS *TP/100) +.005) *100)/100: PRINT : PRINT  TAB( 9);"SALES TAX:  ";TX:TE = TS +TX: PRINT : PRINT " TOTAL AMOUNT DUE:  ";TE
  20. 200  IF TY = 2  THEN  GOTO 260
  21. 210  PRINT : INPUT "  AMOUNT TENDERED:  ";A$:TD =  VAL(A$)
  22. 220  PRINT : PRINT  TAB( 12);"CHANGE:  "; INT((TD -TE +.005) *100)/100
  23. 230 NT = NT +N -1:GT = GT +TS:TT = TT +TX
  24. 240  PRINT : GOSUB 560
  25. 250  GOTO 30
  26. 260  REM    CHARGE SALES MODULE
  27. 270 NT = NT +N -1:CT = CT +TS:TT = TT +TX
  28. 280  PRINT : GOSUB 560
  29. 290  GOTO 30
  30. 300  REM   REFUND/CREDIT ROUTINE
  31. 310  HOME : PRINT "PRESS RETURN AFTER EACH ITEM."
  32. 320  PRINT "ENTER 0 FOR LAST ITEM.": PRINT 
  33. 330 N = 1:S = 1:TS = 0
  34. 340  PRINT "ITEM #";N;"   ";: INPUT A$:X(S) =  VAL(A$)
  35. 350  IF X(S) < >0  THEN N = N +1:S = S +1: IF S <6 GOTO 340
  36. 360  FOR S = 1 TO N:TS = TS +X(S): NEXT S
  37. 370 TS =  INT((TS +.005) *100)/100
  38. 380  PRINT : PRINT "TOTAL OF ITEMS: ";TS
  39. 390 TX =  INT(((TS *TP/100) +.005) *100)/100: PRINT  TAB( 6);"SALES TAX:  ";TX: PRINT "  TOTAL CREDIT:  ";TS +TX
  40. 400  PRINT : PRINT : PRINT "1) CASH REFUND": PRINT : PRINT "2) CREDIT TO ACCT": PRINT : INPUT "SELECT ONE: ";A$:RF =  VAL(A$)
  41. 410  IF RF = 1  THEN NT = NT -N +1:GT = GT -TS:TT = TT -TX: GOTO 430
  42. 420 CT = CT -TS:TT = TT -TX
  43. 430  PRINT : GOSUB 560
  44. 440  GOTO 30
  45. 450  REM   PRINT TOTALS
  46. 460  HOME : VTAB (3): PRINT  TAB( 14);: INVERSE : PRINT "SALES SUMMARY": NORMAL 
  47. 470  PRINT : PRINT  TAB( 19);"ITEMS:";NT
  48. 480  PRINT :GT$ =  STR$(GT): PRINT  TAB( 14);"CASH SALES:";GT$
  49. 490  PRINT :CT$ =  STR$(CT): PRINT  TAB( 12);"CREDIT SALES:";CT$
  50. 500  PRINT :X = GT +CT:X$ =  STR$(X): PRINT  TAB( 16);"SUBTOTAL:";X$
  51. 510  PRINT :TT$ =  STR$(TT): PRINT  TAB( 15);"SALES TAX:";TT$
  52. 520  PRINT :X = GT +CT +TT:X$ =  STR$(X): PRINT  TAB( 10);"TOTAL RECEIPTS:";X$
  53. 530  PRINT : PRINT : PRINT  TAB( 10);"PRESS RETURN FOR MENU";: INPUT Z$
  54. 540  GOTO 30
  55. 550  HOME : END 
  56. 560  VTAB 23: INPUT "PRESS RETURN TO CONTINUE ";CH$: RETURN