sign in
 
   
 
 
 
   
  COBOL TUTORIAL FOR BCA STUDENTS OF M G UNIVERSITY  
  LAB EXCERCISES AND SOLUTIONS (CYCLE -I)  
   
  The number of hours worked by an employee in a company and hourly rate are given. Deduct tax @ 10% of total salary if total salary exceeds 10,000/- otherwise 5%. Write a COBOL program to implement the above.  
   
 
                        
       IDENTIFICATION DIVISION.
       PROGRAM-ID. WAGES-CALCULATION.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SOURCE-COMPUTER.
       OBJECT-COMPUTER.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  SAL-REC.
           02  N-HOUR      PIC 9(5).
           02  H-RATE      PIC 9(5)V99.
           02  GROSS-SAL   PIC 9(5)V99.
           02  TAX         PIC 9(5)V99.
           02  NET-SAL     PIC 9(5)V99.
       01  E-SAL-REC.
           02  E-N-HOUR    PIC ZZZZZZZ9.
           02  E-H-RATE    PIC Z(4)9.99.
           02  E-GROSS-SAL PIC Z(4)9.99.
           02  E-TAX       PIC Z(4)9.99.
           02  E-NET-SAL   PIC Z(4)9.99.
       PROCEDURE DIVISION.
       MAIN-PARA.
           DISPLAY (01 01) ERASE.
           DISPLAY (02 10) "     Wages Calculation".
           DISPLAY (03 10) "---------------------------------".
           DISPLAY (04 10) "Enter the following :".
           DISPLAY (05 10) "No. of Hours Worked : ".
           ACCEPT (05 32) N-HOUR.
           DISPLAY (06 10) "        Hourly Rate : ".
           ACCEPT (06 32) H-RATE.
           COMPUTE GROSS-SAL = N-HOUR * H-RATE.
           IF GROSS-SAL > 10000
              COMPUTE TAX = GROSS-SAL * 0.10
           ELSE
              COMPUTE TAX = GROSS-SAL * 0.05.
           COMPUTE NET-SAL = GROSS-SAL - TAX.
           MOVE N-HOUR TO E-N-HOUR.
           MOVE H-RATE TO E-H-RATE.
           MOVE GROSS-SAL TO E-GROSS-SAL.
           MOVE TAX TO E-TAX.
           MOVE NET-SAL TO E-NET-SAL.
           DISPLAY (10 10) "        P A Y  S L I P".
           DISPLAY (11 10) "        ---------------".
           DISPLAY (12 10) "No. of Hours Worked : " E-N-HOUR.
           DISPLAY (13 10) "   Hourly Wage-Rate : " E-H-RATE.
           DISPLAY (14 10) "---------------------------------".
           DISPLAY (15 10) "       Gross Salary : " E-GROSS-SAL.
           DISPLAY (16 10) "     Tax Deductions : " E-TAX.
           DISPLAY (17 10) "---------------------------------".
           DISPLAY (18 10) "         NET SALARY : " E-NET-SAL.
           DISPLAY (19 10) "=================================".
           STOP RUN.

Alternate Solution

       IDENTIFICATION DIVISION.
       PROGRAM-ID. WAGE-CALCULATION.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SOURCE-COMPUTER.
       OBJECT-COMPUTER.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  HW   PIC 999V99.
       01  HR   PIC 999V99.
       01  GS   PIC 9(5)V99.
       01  TX   PIC 9(5)V99.
       01  NS   PIC 9(5)V99.
       01  E-HW PIC ZZ9.99.
       01  E-HR PIC ZZ9.99.
       01  E-GS PIC Z(5).99.
       01  E-TX PIC Z(5).99.
       01  E-NS PIC Z(5).99.

       PROCEDURE DIVISION.
       MAIN-PARA.
           DISPLAY "ENTER THE TOTAL HOURS WORKED : ".
           ACCEPT HW.
           DISPLAY "ENTER THE HOURLY RATE : ".
           ACCEPT HR.
           COMPUTE GS = HW * HR.
           IF GS > 10000
              COMPUTE TX = GS * 0.1
           ELSE
              COMPUTE TX = GS * 0.05.
           COMPUTE NS = GS - TX.

           MOVE HW TO E-HW.
           MOVE HR TO E-HR.
           MOVE GS TO E-GS.
           MOVE TX TO E-TX.
           MOVE NS TO E-NS.

           DISPLAY "           WAGE SLIP".
           DISPLAY "===============================".
           DISPLAY "No. of Hours Worked : " E-HW.
           DISPLAY "        Hourly Rate : " E-HR.
           DISPLAY "-------------------------------".
           DISPLAY "       GROSS SALARY : " E-GS.
           DISPLAY "                Tax : " E-TX.
           DISPLAY "===============================".
           DISPLAY "N E T   S A L A R Y : " E-NS.
           DISPLAY "===============================".
           DISPLAY " ".
           STOP RUN.