Variables, Data Types, Constants and Operators

Case Study


PROBLEM:

Write a program to calculate an employees wages. They are paid at a basic rate of £6.65 hour, but are taxed at a rate of 23% and pay a pension contribution of 4% and pay a union subscription of 1.25 per week.

Write a program to read in the hours worked and calculate the take home weekly wages of the employee.


SOLUTION:

The structure of the program will take the following form:-


#include <iostream.h>

// Declare constants 

main()
{
	// declare variables 

	// prompt user to enter number of hours worked and read in value 

	// Calculate wages 

	// output weekly wages 
}

Constants

We are told that the employee is paid 6.65 per hour is taxed at a rate of 23%, pays 4% pension contributions and a union fee of 1.25. We should make these values be constants - since they have been given to use. In addition, this makes it easier to change these values at a later date and if we use meaningful names will make the program easier to read. Therefore we will declare:-


#define hourly_rate 	6.65
#define tax_rate	0.23
#define pension_rate	0.04
#define union_fee	1.25

I have converted the percentages to floating point values, since for example 23% = 23/100 * value.

Variables

We are obviously going to require a variable to store the number of hours worked, which we will assume can be a fractional number of hours and therefore use a floating point value. We will also use variables for the gross_pay, pension, tax, deductions and total_pay. All of which will be floating point values.


        float   hours, gross_pay, tax, pension, deductions, total_pay;

Input

We require to prompt the user to enter the number of hours worked and then read this into the variable hours .


        cout << "Enter the number of hours worked \n";
        cin >> amphours;

Calculation

There are a number of different ways this could be implemented. I have chosen here to do it in a number of different stages. Calculating initially the gross wages and then the deductions.


        gross_pay = hours * hourly_rate;
        tax = gross_pay * tax_rate;
        pension = gross_pay * pension_rate;
        deductions = tax + pension + union_fee;
        total_pay = gross_pay - deductions;

Output

Finally we have to output the result. This can be achieved by the statement


        cout << "The total weekly pay is " << total_pay << "\n";

Total Program


#include <iostream.h>

// Declare constants 
#define hourly_rate     6.65
#define tax_rate        0.23
#define pension_rate    0.04
#define union_fee       1.25

main()
{
        //declare variables 
        float   hours, gross_pay, tax, pension, deductions, total_pay;

        //prompt user to enter number of hours worked and read in value 
        cout << "Enter the number of hours worked \n";
        cin >> amphours;

        // Calculate wages 
        gross_pay = hours * hourly_rate;
        tax = gross_pay * tax_rate;
        pension = gross_pay * pension_rate;
        deductions = tax + pension + union_fee;
        total_pay = gross_pay - deductions;

        // output weekly wages 
        cout << "The total weekly pay is " << total_pay << "\n";
}

Back to Main Page for Lecture 2