mirror of
https://github.com/sharkdp/bat
synced 2026-06-23 12:23:17 +00:00
61 lines
1.7 KiB
COBOL
Vendored
61 lines
1.7 KiB
COBOL
Vendored
IDENTIFICATION DIVISION.
|
|
PROGRAM-ID. PAYROLL-CALC.
|
|
|
|
DATA DIVISION.
|
|
WORKING-STORAGE SECTION.
|
|
01 EMPLOYEE-DETAILS.
|
|
05 EMPLOYEE-NAME PIC X(30).
|
|
05 HOURS-WORKED PIC 99V9.
|
|
05 HOURLY-RATE PIC 99V99.
|
|
01 PAY-CALCULATIONS.
|
|
05 GROSS-PAY PIC 9(5)V99.
|
|
05 OVERTIME-HOURS PIC 99V9.
|
|
05 OVERTIME-PAY PIC 9(5)V99.
|
|
05 TAX-RATE PIC V99 VALUE 0.10.
|
|
05 TAX-AMOUNT PIC 9(5)V99.
|
|
05 NET-PAY PIC 9(5)V99.
|
|
|
|
PROCEDURE DIVISION.
|
|
MAIN-LOGIC.
|
|
DISPLAY "--- COBOL Payroll Calculator ---".
|
|
|
|
DISPLAY "Enter Employee Name: ".
|
|
ACCEPT EMPLOYEE-NAME.
|
|
|
|
DISPLAY "Enter Hours Worked (e.g., 40.5): ".
|
|
ACCEPT HOURS-WORKED.
|
|
|
|
DISPLAY "Enter Hourly Rate (e.g., 15.75): ".
|
|
ACCEPT HOURLY-RATE.
|
|
|
|
PERFORM CALCULATE-GROSS-PAY.
|
|
PERFORM CALCULATE-TAX.
|
|
PERFORM CALCULATE-NET-PAY.
|
|
PERFORM DISPLAY-RESULTS.
|
|
|
|
STOP RUN.
|
|
|
|
CALCULATE-GROSS-PAY.
|
|
IF HOURS-WORKED > 40 THEN
|
|
COMPUTE OVERTIME-HOURS = HOURS-WORKED - 40
|
|
COMPUTE OVERTIME-PAY = OVERTIME-HOURS * HOURLY-RATE * 1.5
|
|
COMPUTE GROSS-PAY = (40 * HOURLY-RATE) + OVERTIME-PAY
|
|
ELSE
|
|
COMPUTE GROSS-PAY = HOURS-WORKED * HOURLY-RATE
|
|
END-IF.
|
|
|
|
CALCULATE-TAX.
|
|
COMPUTE TAX-AMOUNT = GROSS-PAY * TAX-RATE.
|
|
|
|
CALCULATE-NET-PAY.
|
|
COMPUTE NET-PAY = GROSS-PAY - TAX-AMOUNT.
|
|
|
|
DISPLAY-RESULTS.
|
|
DISPLAY "----------------------------------".
|
|
DISPLAY "Employee Name: " EMPLOYEE-NAME.
|
|
DISPLAY "Hours Worked: " HOURS-WORKED.
|
|
DISPLAY "Hourly Rate: " HOURLY-RATE.
|
|
DISPLAY "Gross Pay: " GROSS-PAY.
|
|
DISPLAY "Tax (10%): " TAX-AMOUNT.
|
|
DISPLAY "Net Pay: " NET-PAY.
|
|
DISPLAY "----------------------------------". |