# C Program to Calculate Wage of Labour on Daily Basis

In this tutorial, we will learn about how to create a program in C that will calculate and print the total wage of labour on daily basis. Here wage is the salary or money that has to be paid to the worker or labour. Labour is the man who worked for you. The money that has to be paid to the labour will be on daily basis as per the following wage structure:

Hours Worked Rate Applicable
Up to first 8 hours Rs. 50.00
For next 4 hours Rs. 10.00 per hour extra
For next 4 hours Rs. 20.00 per hour extra
For next 4 hours Rs. 25.00 per hour extra
For next 4 hours Rs. 40.00 per hour extra

Now let's take a look at the program:

```// Write a program in C, to compute the wage of labour
// (working on the daily basis) as per  the following
// wage structure:
//   Hours Worked       Rate
//   For first 8 hrs.   Rs. 50
//   For next 4 hrs.    Rs. 10/hr
//   For next 4 hrs.    Rs. 20/hr
//   For next 4 hrs.    Rs. 25/hr
//   For next 4 hrs.    Rs. 40/hr
//   The output of the program should be like this:
//   Enter Name of Employee:      XXXXXXXX
//   Enter total hours worked:    21
//   Total Wage:                  Rs.310
// -----------codescracker.com-----------

#include<stdio.h>
#include<conio.h>
int main()
{
float initWage=50, hours, tempHour, tempWage, totalWage;
char name;
printf("Enter Name of Employee: \t");
gets(name);
printf("Enter total hours worked: \t");
scanf("%f", &hours);
if(hours<=8)
{
totalWage = initWage;
}
else if(hours>8 && hours<=12)
{
tempHour = hours-8;
tempWage = tempHour*10;
totalWage = tempWage + initWage;
}
else if(hours>12 && hours<=16)
{
tempHour = hours-12;
tempWage = 4*10;
totalWage = initWage + tempWage + (tempHour*20);
}
else if(hours>16 && hours<=20)
{
tempHour = hours-16;
tempWage = (4*10) + (4*20);
totalWage = initWage + tempWage + (tempHour*25);
}
else if(hours>20 && hours<=24)
{
tempHour = hours-20;
tempWage = (4*10) + (4*20) + (4*25);
totalWage = initWage + tempWage + (tempHour*40);
}
else
{
printf("A single day only has 24 hours.");
getch();
return 0;
}
printf("Total Wage: \t\t\tRs.%0.2f", totalWage);
getch();
return 0;
}```

As the program was written under Code::Blocks IDE, therefore here is the sample run after successful build and run: Now provide the name of the labour say codes cracker, then total hours worked by him say 21. Press ENTER key to see the wage of labour as shown in the second snapshot of the sample run given here: Here is another sample run. In this case, the labour has worked for all the day (24 hour). Let's see according to the above pay-scale, what will be the earning of the labour for one whole day: Here are some of the main steps used in above program:

• Ask from user to enter his name
• Again ask to enter how many hours he has worked for any particular date (or for today)
• Never forgot to initialize a variable say initWage with 50 as its initial value at start of the program. Because according to pre-defined wage structure given above, employer has to paid Rs.50 to the employee for his first 8 hours of work. No matter whether he has worked only for 1 hours or total of 8 hours.
• Now check whether the hour worked is less than or equal to 8 or not
• If it is, then just initialize the value of initWage to the variable say totalWage that will hold up the total wage of the labour at last of the program
• If worked hour is not less than or equal to 8, then check whether it is greater than 8 and less than or equal to 12 or not
• If it is, then add the rate given for next 4 hour after initial 8 hours worked by the labour, that is 10 rupees per hour is the extra rate for next 4 hour after starting 8 hours, it means we have to minus the given hour by 8 and then multiply the remaining hour value with 10, and then add it up with 50 to initialize it to the totalWage of labour
• In this way continue checking and calculating for the given number of hours
• For example, if labour has worked 23 hours in a day, then the wage that has to be paid to labour will be calculated as:
• As the user has entered 23 as total hours worked, therefore 23 will be initialized to hours variable
• As 23 is greater than 20 and less than or equal to 24, therefore the program flow goes inside the last else if block where the applied condition is:
else if(hours>20 && hours<=24)
As the rate for first 8 hours is 50 rupees, rate for next 4 hours is Rs.10/hr extra, rate for next 4 hours is Rs.20/hr extra, rate for next 4 hours is Rs.25/hr extra, and rate for next and last 4 hours is Rs.40/hr extra
• Therefore, we have to initialize 50 + (4*10) + (4*20) + (4*25) + ((hours-20)*40) or 50 + 80 + 100 + ((23-20) *40) or 230 + (3*40) or 230 + 120 or 350 to the variable say totalWage. In this program, what the total wage is, totalWage will hold it
• Finally print the value of totalWage as output

Tools
Calculator