Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a script to solve the following problem: Ask the user for the rate of pay

ID: 3691825 • Letter: W

Question

Write a script to solve the following problem: Ask the user for the rate of pay and the number of hours worked. These values are to be passed to a function that will calculate and return the gross pay. The gross pay for this company is calculated as follows: multiply the rate times the number of hours and add a bonus to this amount to get the gross pay. Here is how the bonus is to be calculated: For anyone working over 40 hours, a $100 bonus is to be added to their pay. For anyone working between 20 and 40 hours inclusive, a $50 bonus is to be added to their pay. For anyone working less than 20 hours, there is no bonus (ie. $0). Make sure to suppress all output from the function so that the results are only displayed in the program that called the function.

Explanation / Answer

ENVIRONMENT DIVISION

INPUT-OUTPUT SECTION

FILE-CONTROL

SELECT IN3 ASSIG TO DISK

ORGANIZATION IS LINE SEQUENTIAL

SELECT OUT3 ASSIGN TO DISK

ORGANIZATION IS LINE SEQUENTIAL

DATA DIVISION

FILE SECTION

FD IN3

LABLE RECORDS ARE STANDARD

VALUE OF FILE-ID IS "IN3.TXT";

01 IN3-REC

05 EMPNO-IN PIC 9(3)

05 EMPNAME-IN PIC X(10)

05 BASIC-IN PIC 9999V99

FD OUT3

LABLE RECORDS ARE STANDARD

VALUE OF FILE-ID IS OUT3.TXT"

01 OUTREC PIC X(80)

WORKING-STORAGE SECTION

77 ARE-THERE-MORE-REC PIC XXX VALUE 'YES'

77 DA PIC 9(4)V99

77 HRA PIC 9(4)V99

77 MA PIC 9(4)V99

77 PT PIC 9(4)V99

77 PF PIC 9(4)V99

77 IT PIC 9(4)V99

* 77 GS PIC 9(5)V99

* 77 DID PIC 9(5)V99

01 OUT3-REC

05 EMPNO-OUT PIC 9(3)

05 FILLER PIC X(5)

05 EMPNAME-OUT PIC X(10)

05 FILLER PIC X(5)

05 BASIC-OUT PIC 9(4).99

05 FILLER PIC X(5)

05 GS-OUT PIC 9(5)V99

05 FILLER PIC X(5)

05 DID-OUT PIC 9(5)V99

05 FILTER PIC X(5)

05 NET-SAL PIC 9(5).99

01 H1

05 STAR PIC X(80) VALUE ALL '*'

01 H2

05 EMPNO PIC X(5) VALUE "EMPNO"

05 FILLER PIC X(5)

05 EMPNAME PIC X(10) VALUE "EMPNAME"

05 FILLER PIC X(5)

05 BASIC PIC X(5) VALUE "BASIC"

05 FILLER PIC X(2)

05 GS PIC X(15) VALUE "GROSS SALARY"

05 FILLER PIC X(2)

05 DID PIC X(15) VALUE "DIDUCTION"

05 FILLER PIC X(5)

05 NET PIC X(15) VALUE "NET SALARY"

PROCEDURE DIVISION

MAIN-PARA

OPEN INPUT IN3

OUTPUT OUT3

WRITE OUTREC FROM H1

WRITE OUTREC FROM H2

WRITE OUTREC FROM H1

READ IN3

AT END MOVE 'NO' TO ARE-THERE-MORE-REC

PERFORM PARA-1 UNTIL ARE-THERE-MORE-REC='NO'

CLOSE IN3

CLOSE OUT3

STOP RUN

PARA-1

MOVE EMPNO-IN TO EMPNO-OUT

MOVE EMPNAME-IN TO EMPNAME-OUT

MOVE BASIC-IN TO BASIC-OUT

IF BASIC-IN < 1000

COMPUTE DA=(BASIC-IN)*(5/100)

COMPUTE HRA=(BASIC-IN)*(0.025)

MOVE 50 TO MA

MOVE 20 TO PT

COMPUTE PF=(BASIC-IN)*(8/100)

MOVE 0 TO IT

ELSE IF BASIC-IN < 3000

COMPUTE DA=(BASIC-IN)*(0.075)

COMPUTE HRA=(BASIC-IN)*(5/100)

MOVE 250 TO MA

MOVE 60 TO PT

COMPUTE PF=(BASIC-IN)*(8/100)

MOVE 0 TO IT

ELSE IF BASIC-IN < 5000

COMPUTE DA=(BASIC-IN) * (11/100)

COMPUTE HRA=(BASIC-IN)*(0.075)

MOVE 500 TO MA

MOVE 60 TO PT

COMPUTE PF=(BASIC-IN)*(11/100)

COMPUTE IT=(BASIC-IN)*(11/100)

ELSE

COMPUTE DA=(BASIC-IN)*(25/100)

COMPUTE HRA=(BASIC-IN)*(11/100)

MOVE 700 TO MA

MOVE 80 TO PT

COMPUTE PF=(BASIC-IN)*(12/100)

COMPUTE IT=(BASIC-IN)*20/100)

ADD BASIC-IN DA HRA MA GIVING GS-OUT

* MOVE GS TO GS-OUT

ADD PF PT IT GIVING DID-OUT

* MOVE DID TO DID-OUT

SUBTRACT DID-OUT FROM GS-OUT GIVING NET-SAL

WRITE OUT-REC FROM OUT3-REC

READ IN3 AT END MOVE 'NO' TO ARE-THERE-MORE-REC

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote