mirror of
https://github.com/sharkdp/bat
synced 2026-07-28 17:51:44 +00:00
Add COBOL syntax highlighting
This commit is contained in:
+61
@@ -0,0 +1,61 @@
|
||||
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 "----------------------------------".
|
||||
Reference in New Issue
Block a user