Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
Tutorialspoint

Gavin Hooper HW04GH

IDENTIFICATION DIVISION.
PROGRAM-ID. HW04GH.
AUTHOR GAVIN HOOPER.
DATE-WRITTEN 02/16/2019.
DATA DIVISION.
WORKING-STORAGE SECTION.
01  EMPLOYEE-RECORD-IN.
    05 EMP-PAY-DATE-IN.
       10 EMP-PAY-YY          PIC X(02).
       10 EMP-PAY-MM          PIC X(02).
       10 EMP-PAY-DD          PIC X(02).
    05 EMP-NUMBER             PIC X(03).
    05 EMP-NAME.
       10 EMP-LAST-NAME       PIC X(15).
       10 EMP-FIRST-NAME      PIC X(10).
    05 HOURS-WORKED           PIC 99V99.
    05 PAY-RATE               PIC 99V99.
    05 EMP-PAY-TYPE           PIC X.
       88 HOURLY-PAY                    VALUE 'H'.
       88 SALARY-PAY                    VALUE 'S'.
    05 EMP-POSITION           PIC X(20).
       88 PROGRAMMER                    VALUE 'P'.
       88 ACCOUNTANT                    VALUE 'A'.
       88 MANAGER                       VALUE 'M'.
       88 INTERN                        VALUE 'I'.
       88 TESTER                        VALUE 'T'.
    05 EMP-GROSS-OUT          PIC 9(04)V99.
    05 EMP-OVERTIME-HOURS-OUT PIC 9(02).
    05 EMP-OVERTIME-OUT       PIC 9(04)V99.
    05 EMP-TAXES-OUT          PIC 9(04)V99.
    05 EMP-NET-OUT            PIC 9(04)V99.
    05 FILLER                 PIC X(10).  
       
01  EMP-TAX-RATE              PIC V99   VALUE .32.

01  EMP-POSITION-TITLE        PIC X(18).

01  EMPLOYEE-PAY-TOTALS.       
    05  EMP-GROSS-PAY          PIC 9(04)V99. 
    05  EMP-NET-PAY            PIC 9(04)V99.
    05  EMP-TAXES              PIC 9(04)V99.
    05  EMP-OVERTIME-HOURS     PIC 9(02)V99.
    05  EMP-OVERTIME-PAY       PIC 9(03)V99.
    
01  PROGRAM-TOTALS.    
    05  PROGRAM-GROSS-PAY      PIC 9(04)V99.
    05  PROGRAM-NET-PAY        PIC 9(04)V99.
    05  PROGRAM-TAXES          PIC 9(04)V99.
    05  PROGRAM-RECORD-COUNT   PIC 9(01).
    05  PROGRAM-HOURS-WORKED   PIC 9(04)V99.
    05  PROGRAM-AVERAGE-GROSS  PIC 9(04)V99.
    05  PROGRAM-AVERAGE-NET    PIC 9(04)V99.
    05  PROGRAM-OVERTIME-HOURS PIC 9(02)V99.
    05  PROGRAM-OVERTIME-PAY   PIC 9(03)V99.
    
01  WS-DATE-IN                 PIC 9(08).

PROCEDURE DIVISION.
    DISPLAY 'PAYROLL HW04GH FOR GAVIN HOOPER'.

    DISPLAY '--'.
    

    ACCEPT EMPLOYEE-RECORD-IN.
    ADD 1 TO PROGRAM-RECORD-COUNT.
     IF EMP-PAY-TYPE = 'H' THEN
      COMPUTE EMP-GROSS-PAY= (HOURS-WORKED * PAY-RATE) + EMP-OVERTIME-PAY
      
      ELSE COMPUTE EMP-GROSS-PAY=(40 * PAY-RATE)
    COMPUTE EMP-TAXES= EMP-GROSS-PAY * EMP-TAX-RATE
    COMPUTE EMP-NET-PAY= EMP-GROSS-PAY - EMP-TAXES
    IF HOURS-WORKED > 40 THEN COMPUTE EMP-OVERTIME-HOURS= HOURS-WORKED - 40.
    IF HOURS-WORKED > 40 THEN COMPUTE EMP-OVERTIME-PAY=PAY-RATE * 1.5 * EMP-OVERTIME-HOURS
    IF EMP-PAY-TYPE = 'S' THEN SUBTRACT EMP-OVERTIME-PAY FROM EMP-OVERTIME-PAY.
      IF EMP-POSITION = 'P' THEN MOVE 'PROGRAMMER'TO EMP-POSITION
ELSE IF EMP-POSITION = 'A' THEN MOVE 'ACCOUNTANT'TO EMP-POSITION
        ELSE IF EMP-POSITION = 'M' THEN MOVE 'MANAGER'TO EMP-POSITION
        ELSE IF EMP-POSITION = 'I' THEN MOVE 'INTERN'TO EMP-POSITION
        ELSE IF EMP-POSITION = 'T' THEN MOVE 'TESTER'TO EMP-POSITION
        ELSE MOVE 'UNDEFINED POSITION' TO EMP-POSITION.
    
   
   
   
    
   
    
    DISPLAY 'PAY DATE     : ' EMP-PAY-MM '/'
                              EMP-PAY-DD '/'
                              EMP-PAY-YY.
    DISPLAY 'EMPLOYEE NAME: ' EMP-LAST-NAME ', ' EMP-FIRST-NAME.   
    DISPLAY '    NUMBER   : ' EMP-NUMBER.
    DISPLAY '    HOURS    : ' HOURS-WORKED.
    DISPLAY '    PAY RATE : ' PAY-RATE.
    DISPLAY '    POSITION : ' EMP-POSITION.
    DISPLAY '    PAY TYPE : ' EMP-PAY-TYPE.
    DISPLAY '    GROSS PAY: ' EMP-GROSS-PAY
    DISPLAY '    OT PAY   : ' EMP-OVERTIME-PAY.
    DISPLAY '    OT HOURS : 'EMP-OVERTIME-HOURS.
    DISPLAY '    TAXES    : 'EMP-TAXES
    DISPLAY '    NET PAY  : 'EMP-NET-PAY
    DISPLAY '--'.    

    ADD EMP-GROSS-PAY TO PROGRAM-GROSS-PAY.
    ADD EMP-TAXES TO PROGRAM-TAXES.
    ADD EMP-NET-PAY TO PROGRAM-NET-PAY.
    ADD HOURS-WORKED TO PROGRAM-HOURS-WORKED.
    ADD EMP-OVERTIME-HOURS TO PROGRAM-OVERTIME-HOURS.
    ADD EMP-OVERTIME-PAY TO PROGRAM-OVERTIME-PAY.
    
  
    ACCEPT EMPLOYEE-RECORD-IN.
    ADD 1 TO PROGRAM-RECORD-COUNT.
     IF EMP-PAY-TYPE = 'H' THEN
      COMPUTE EMP-GROSS-PAY= (HOURS-WORKED * PAY-RATE) + EMP-OVERTIME-PAY
      
      ELSE COMPUTE EMP-GROSS-PAY=(40 * PAY-RATE)
    COMPUTE EMP-TAXES= EMP-GROSS-PAY * EMP-TAX-RATE
    COMPUTE EMP-NET-PAY= EMP-GROSS-PAY - EMP-TAXES
    IF EMP-PAY-TYPE = 'S' THEN SUBTRACT EMP-OVERTIME-PAY FROM EMP-OVERTIME-PAY.
    IF HOURS-WORKED > 40 THEN COMPUTE EMP-OVERTIME-HOURS= HOURS-WORKED - 40.
     IF HOURS-WORKED > 40 THEN COMPUTE EMP-OVERTIME-PAY=PAY-RATE * 1.5 * EMP-OVERTIME-HOURS
     IF EMP-POSITION = 'P' THEN MOVE 'PROGRAMMER'TO EMP-POSITION
    ELSE IF EMP-POSITION = 'A' THEN MOVE 'ACCOUNTANT'TO EMP-POSITION
    ELSE IF EMP-POSITION = 'M' THEN MOVE 'MANAGER'TO EMP-POSITION
    ELSE IF EMP-POSITION = 'I' THEN MOVE 'INTERN'TO EMP-POSITION
    ELSE IF EMP-POSITION = 'T' THEN MOVE 'TESTER'TO EMP-POSITION
    ELSE MOVE 'UNDEFINED POSITION' TO EMP-POSITION.
   
    
    DISPLAY 'PAY DATE     : ' EMP-PAY-MM '/'
                              EMP-PAY-DD '/'
                              EMP-PAY-YY.
    DISPLAY 'EMPLOYEE NAME: ' EMP-LAST-NAME ', ' EMP-FIRST-NAME.   
    DISPLAY '    NUMBER   : ' EMP-NUMBER.
    DISPLAY '    HOURS    : ' HOURS-WORKED.
    DISPLAY '    PAY RATE : ' PAY-RATE.
    DISPLAY '    POSITION : ' EMP-POSITION.
    DISPLAY '    PAY TYPE : ' EMP-PAY-TYPE.
    DISPLAY '    GROSS PAY: ' EMP-GROSS-PAY
    DISPLAY '    OT PAY   : ' EMP-OVERTIME-PAY
    DISPLAY '    OT HOURS : 'EMP-OVERTIME-HOURS
    DISPLAY '    TAXES    : ' EMP-TAXES.
    DISPLAY '    NET PAY  : ' EMP-NET-PAY
    DISPLAY '--'.    
     ADD EMP-GROSS-PAY TO PROGRAM-GROSS-PAY.
    ADD EMP-TAXES TO PROGRAM-TAXES.
    ADD EMP-NET-PAY TO PROGRAM-NET-PAY.
    ADD HOURS-WORKED TO PROGRAM-HOURS-WORKED.
    ADD EMP-OVERTIME-HOURS TO PROGRAM-OVERTIME-HOURS.
    ADD EMP-OVERTIME-PAY TO PROGRAM-OVERTIME-PAY.
    COMPUTE PROGRAM-AVERAGE-GROSS=PROGRAM-GROSS-PAY/PROGRAM-RECORD-COUNT.
    COMPUTE PROGRAM-AVERAGE-NET=PROGRAM-NET-PAY/PROGRAM-RECORD-COUNT.
    DISPLAY 'FILE TOTALS:'.
    DISPLAY '    RECORDS  : ' PROGRAM-RECORD-COUNT.
    DISPLAY '    HOURS    : ' PROGRAM-HOURS-WORKED.
    DISPLAY '    GROSS    : ' PROGRAM-GROSS-PAY.
    DISPLAY '    TAXES    : ' PROGRAM-TAXES.
    DISPLAY '    NET      : ' PROGRAM-NET-PAY.
    DISPLAY '    OT HOURS : ' PROGRAM-OVERTIME-HOURS.
    DISPLAY '    OT PAY   : ' PROGRAM-OVERTIME-PAY.
    DISPLAY 'AVERAGE GROSS: ' PROGRAM-AVERAGE-GROSS.
    DISPLAY '  AVERAGE NET: ' PROGRAM-AVERAGE-NET.
    
    DISPLAY '--'.


    
    DISPLAY '--'.

    DISPLAY 'END OF PROGRAM FOR GAVIN HOOPER'.
    STOP RUN.

Advertisements
Loading...

We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.