Payroll

Date: February 1983
Type: Program
Platform(s): TS 1000

Content

Appears On

Cassette to accompany the February 1983 issue of Synchro-Sette.

Related Products

Related Articles

Related Content

Image Gallery

Source Code

   1 FAST 
   2 DIM E$(50,60)
   3 LET R1=0
  10 FAST 
  15 CLS 
  20 POKE 16418,0
  30 LET A$="\: \@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\@@\ :"
  40 FOR N=1 TO 23
  50 PRINT A$
  60 NEXT N
  70 PRINT AT 0,0;"\:'\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\':";AT 23,0;"\:.\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\.:"
  80 FOR N=1 TO 22
  90 PRINT AT 2,6;"% %E%M%P%L%O%Y%E%E% %P%A%Y%R%O%L%L% "
 100 PRINT AT 5,2;" TO ENTER EMPLOYEE INFO    %1"
 110 PRINT AT 7,2;" TO CALCULATE WEEKLY WAGES %2"
 120 PRINT AT 9,2;" TO EDIT EMPLOYEE INFO     %3"
 130 PRINT AT 11,2;" TO SAVE FILE ON TAPE      %4"
 140 PRINT AT 13,2;" TO SET TAX PARAMETERS     %5"
 150 PRINT AT 15,2;" TO CLEAR HOURS            %6"
 160 PRINT AT 17,2;" TO INITIALIZE PROGRAM     %7"
 170 LET AA=0
 199 SLOW 
 200 GOSUB 9000
 210 IF CODE B$<29 OR CODE B$>35 THEN GOTO 200
 220 FAST 
 225 IF B$="7" THEN RUN 
 230 CLS 
 240 POKE 16418,2
 250 GOTO VAL B$*1000
\n1000 SCROLL 
\n1010 SCROLL 
\n1020 PRINT "IF NO MORE EMPLOYEES ARE TO BE"
\n1030 SCROLL 
\n1040 PRINT "ENTERED, JUST PRESS ENTER FOR"
\n1050 SCROLL 
\n1060 PRINT "THE LAST NAME:::"
\n1070 FOR N=1 TO 14
\n1075 LET O=0
\n1080 SCROLL 
\n1090 NEXT N
\n1100 FOR N=R1+1 TO 100
\n1110 SCROLL 
\n1120 SCROLL 
\n1130 PRINT "LAST NAME OF EMPLOYEE NO. ";N
\n1140 SCROLL 
\n1150 SLOW 
\n1160 INPUT N$
\n1170 FAST 
\n1180 IF N$="" THEN GOTO 1900
\n1190 SCROLL 
\n1200 PRINT ,N$
\n1210 SCROLL 
\n1220 SCROLL 
\n1230 PRINT "FIRST, MID NAME OF EMPLOYEE?"
\n1240 SCROLL 
\n1250 SLOW 
\n1260 INPUT F$
\n1270 FAST 
\n1280 SCROLL 
\n1290 PRINT ,F$
\n1300 SCROLL 
\n1310 SCROLL 
\n1320 PRINT "EMPLOYEE NUMBER?"
\n1330 SLOW 
\n1340 INPUT P$
\n1350 FAST 
\n1360 SCROLL 
\n1370 PRINT ,P$
\n1380 SCROLL 
\n1390 SCROLL 
\n1400 PRINT "TOTAL HOURS WORKED DURING WEEK"
\n1410 SLOW 
\n1420 INPUT H
\n1430 FAST 
\n1440 IF H<=40 THEN LET H$=STR$ H
\n1445 IF H>40 THEN LET H$="40"
\n1450 IF H>40 THEN LET O=H-40
\n1455 LET O$=STR$ O
\n1460 SCROLL 
\n1470 IF H<=40 THEN PRINT "REG HOURS = ";H
\n1480 IF H>40 THEN PRINT "REG HOURS = 40, OT HOURS = ";O
\n1490 SCROLL 
\n1500 SCROLL 
\n1510 PRINT "HOURLY WAGE?";
\n1520 SCROLL 
\n1530 SLOW 
\n1540 INPUT W
\n1550 FAST 
\n1555 LET W$=STR$ W
\n1560 PRINT ,W
\n1570 SCROLL 
\n1580 SCROLL 
\n1581 PRINT "TOTAL NON-TAX DEDUCTIONS?"
\n1582 SLOW 
\n1583 INPUT D$
\n1584 FAST 
\n1585 IF D$="" THEN LET D$="0"
\n1586 SCROLL 
\n1587 PRINT ,D$
\n1588 SCROLL 
\n1589 SCROLL 
\n1590 PRINT "DO YOU WANT TO SEE EMPLOYEE PAY?"
\n1600 SLOW 
\n1610 INPUT Y$
\n1620 FAST 
\n1625 GOSUB 8000
\n1630 IF Y$(1)="Y" THEN GOSUB 7000
\n1640 CLS 
\n1650 NEXT N
\n1660 STOP 
\n1900 LET R1=N-1
\n1910 GOTO 10
\n2000 LET AA=1
\n2010 GOTO 3000
\n2020 PRINT AT 21,0;
\n2030 GOTO 5250
\n3000 PRINT ,,"WHAT IS THE EMPLOYEE NUMBER?"
\n3010 SLOW 
\n3020 INPUT P$
\n3030 FAST 
\n3040 CLS 
\n3050 FOR N=1 TO R1
\n3060 IF P$=E$(N, TO LEN P$) THEN GOTO 3100
\n3065 NEXT N
\n3070 PRINT AT 10,0;P$;" IS NOT IN THE FILE :::"
\n3080 GOTO 5226
\n3100 GOSUB 3500
\n3105 IF AA=1 THEN GOTO 2020
\n3110 PRINT ,,"1 %L%A%S%T% %N%A%M%E","5 %W%A%G%E"
\n3120 PRINT ,,"2 %F%I%R%S%T% %N%A%M%E","6 %R%E%G%.% %H%O%U%R%S"
\n3130 PRINT ,,"3 %E%M%P%.% %N%O%.","7 %O%.%T%.% %H%O%U%R%S",,,"4 %X%T%R%A% %D%E%D%.","8 %R%E%T%.% %T%O% %M%E%N%U"
\n3140 SLOW 
\n3150 GOSUB 9000
\n3160 FAST 
\n3170 IF CODE B$<29 OR CODE B$>36 THEN GOTO 3140
\n3180 CLS 
\n3190 GOTO 3180+(20*VAL B$)
\n3200 PRINT ,,"OLD LAST NAME IS ";E$(N,7 TO 18),,,"TYPE IN NEW LAST NAME ::"
\n3202 SLOW 
\n3204 INPUT B$
\n3206 FAST 
\n3208 LET E$(N,7 TO 18)=B$
\n3210 CLS 
\n3212 GOTO 3100
\n3220 PRINT ,,"OLD FIRST NAME IS ";E$(N,19 TO 30),,,"TYPE IN NEW FIRST NAME ::"
\n3222 SLOW 
\n3224 INPUT B$
\n3226 FAST 
\n3228 LET E$(N,19 TO 30)=B$
\n3230 GOTO 3210
\n3240 PRINT ,,"OLD EMP. NO. IS ";E$(N, TO 6),,,"TYPE IN NEW EMP. NO. ::"
\n3242 SLOW 
\n3244 INPUT B$
\n3246 FAST 
\n3248 LET E$(N, TO 6)=B$
\n3250 GOTO 3210
\n3260 PRINT ,,"OLD XTRA DED. ARE ";E$(N,51 TO 60),,,"TYPE IN NEW XTRA DED. ::"
\n3262 SLOW 
\n3264 INPUT B$
\n3266 FAST 
\n3268 LET E$(N,51 TO 60)=B$
\n3270 GOTO 3210
\n3280 PRINT ,,"OLD WAGES ARE ";E$(N,31 TO 35),,,"TYPE IN NEW WAGES ::"
\n3282 SLOW 
\n3284 INPUT B$
\n3286 FAST 
\n3288 LET E$(N,31 TO 35)=B$
\n3290 GOTO 3210
\n3300 PRINT ,,"OLD REG..HOURS ARE ";E$(N,36 TO 42),,,"TYPE IN NEW REG. HOURS ::"
\n3302 SLOW 
\n3304 INPUT B$
\n3306 FAST 
\n3308 LET E$(N,36 TO 42)=B$
\n3310 GOTO 3210
\n3320 PRINT ,,"OLD O.T..HOURS ARE ";E$(N,43 TO 50),,,"TYPE IN NEW O.T. HOURS ::"
\n3322 SLOW 
\n3324 INPUT B$
\n3326 FAST 
\n3328 LET E$(N,43 TO 50)=B$
\n3330 GOTO 3210
\n3340 CLS 
\n3350 GOTO 10
\n3500 PRINT ,,"EMPLOYEE NO.",E$(N, TO 6)
\n3510 PRINT "NAME - ";E$(N,19 TO 30);" ";E$(N,7 TO 18)
\n3520 PRINT "HOURLY WAGE";
\n3530 LET X=VAL E$(N,31 TO 35)
\n3540 GOSUB 9500
\n3550 LET W$=X$
\n3560 PRINT TAB 32-LEN W$;W$
\n3570 PRINT "REGULAR HOURS",E$(N,36 TO 42)
\n3580 IF VAL E$(N,43 TO 50)<>0 THEN PRINT "OVERTIME HOURS",E$(N,43 TO 50)
\n3590 LET GP=VAL E$(N,31 TO 35)*(VAL E$(N,36 TO 42)+(1.5*(VAL E$(N,43 TO 50))))
\n3600 LET X=GP
\n3610 GOSUB 9500
\n3620 PRINT "GROSS PAY -";TAB 32-LEN X$;X$
\n3625 LET GP=VAL X$
\n3630 PRINT "FED. WITH. TAX";
\n3640 LET FT=GP*.01*FWT
\n3650 LET X=FT
\n3670 GOSUB 9500
\n3680 PRINT TAB 32-LEN X$;X$
\n3685 LET FT=VAL X$
\n3690 PRINT "FICA";
\n3700 LET FICA=GP*.01*SS
\n3710 LET X=FICA
\n3720 GOSUB 9500
\n3730 PRINT TAB 32-LEN X$;X$
\n3735 LET FICA=VAL X$
\n3737 LET SWT=0
\n3740 IF ST=0 THEN GOTO 3800
\n3750 PRINT "STATE WITH. TAX";
\n3760 LET SWT=GP*.01*ST
\n3770 LET X=SWT
\n3780 GOSUB 9500
\n3790 PRINT TAB 32-LEN X$;X$
\n3795 LET SWT=VAL X$
\n3800 PRINT "EXTRA DEDUCTIONS -";
\n3810 LET ED=VAL E$(N,51 TO 60)
\n3815 LET X=ED
\n3820 GOSUB 9500
\n3830 PRINT TAB 32-LEN X$;X$
\n3835 LET ED=VAL X$
\n3840 PRINT ,,"NET PAY -";
\n3850 LET NP=GP-FT-FICA-SWT-ED
\n3860 LET X=NP
\n3870 GOSUB 9500
\n3880 PRINT TAB 32-LEN X$;X$
\n3890 RETURN 
\n4000 PRINT AT 10,4;"WHAT IS THE FILE NAME?"
\n4010 INPUT N$
\n4020 PRINT AT 12,0;"SET UP THE TAPE RECORDER AND    PRESS THE ENTER KEY TO SAVE :::"
\n4030 INPUT B$
\n4040 SAVE N$
\n4050 GOTO 10
\n5000 SCROLL 
\n5010 PRINT "WHAT PERCENTAGE FOR FED W. TAX?"
\n5020 SCROLL 
\n5030 SLOW 
\n5040 INPUT FWT
\n5050 FAST 
\n5060 SCROLL 
\n5070 PRINT ,FWT;" \ '/\. "
\n5080 SCROLL 
\n5090 SCROLL 
\n5100 PRINT "WHAT PERCENTAGE FOR SOC SEC?"
\n5105 SCROLL 
\n5110 SLOW 
\n5120 INPUT SS
\n5130 FAST 
\n5140 SCROLL 
\n5150 PRINT ,SS;" \ '/\. "
\n5160 SCROLL 
\n5170 SCROLL 
\n5180 PRINT "WHAT PER. FOR STATE INC. TAX?" 
\n5185 SCROLL 
\n5190 SLOW 
\n5200 INPUT ST
\n5210 FAST 
\n5220 SCROLL 
\n5225 PRINT ,ST;" \ '/\. "
\n5226 SCROLL 
\n5230 SCROLL 
\n5240 SCROLL 
\n5250 PRINT "PRESS ENTER TO RETURN TO MENU ::"
\n5260 INPUT A$
\n5270 GOTO 10
\n6000 FOR N=1 TO R1
\n6010 LET E$(N,36 TO 50)="0      0"
\n6020 NEXT N
\n6030 PRINT AT 10,0;"HOURS CLEARED - READY FOR NEXT  WEEK"
\n6050 GOTO 5226
\n7000 CLS 
\n7010 GOSUB 3500
\n7020 PRINT AT 21,0;"PRESS ENTER TO CONTINUE :::"
\n7030 INPUT B$
\n7040 RETURN 
\n8000 LET E$(N, TO 6)=P$
\n8010 LET E$(N,7 TO 18)=N$
\n8020 LET E$(N,19 TO 30)=F$
\n8030 LET E$(N,31 TO 35)=W$
\n8040 LET E$(N,36 TO 42)=H$
\n8050 LET E$(N,43 TO 50)=O$
\n8060 LET E$(N,51 TO 60)=D$
\n8070 RETURN 
\n9000 PRINT AT 21,5;" ENTER ONE OF ABOVE ";AT 21,5;"% %E%N%T%E%R% %O%N%E% %O%F% %A%B%O%V%E% "
\n9005 LET B$=INKEY$
\n9010 IF B$="" THEN GOTO 9000
\n9020 RETURN 
\n9500 LET X=INT (100*X+.05)/100
\n9510 LET X$=STR$ X
\n9520 IF LEN X$=1 THEN LET X$=X$+".00"
\n9525 IF LEN X$=2 THEN LET X$=X$+".0"
\n9530 IF X$(LEN X$-1)="." THEN LET X$=X$+"0"
\n9540 IF X$(LEN X$-2)<>"." THEN LET X$=X$+".00"
\n9550 IF LEN X$>6 THEN LET X$=X$( TO LEN X$-7)+","+X$(LEN X$-6 TO LEN X$)
\n9560 RETURN 

People

No people associated with this content.

Scroll to Top