Program 21) A manufacture company has classified its executives into four levels for the benefit of certain perk. The level and corresponding perks are shown below:
___________________________________________________
Level Perks
Conveyance Entertainment allowance allowance
1 1000 500
2 750 200
3 500 100
4 250 -
__________________________________________________
An executive's gross salary includes basic pay, house rent allowance at 25% of basic pay and other perks. Income tax is withheld from the salary on a percentage basis as follows:
___________________________________________________
Gross salary Tax rate
Gross <= 2000 No tax deduction
2000 < Gross <= 4000 3%
4000 < Gross <= 5000 5%
Gross > 5000 8%
___________________________________________________
Write a program that will read an executive's job number, level number, and basic pay and then compute the net salary after withholding income tax.
Problem analysis:
Gross salary = basic pay + house rent allowance + perks
Net salary = Gross salary - income tax.
The computation of perks depends on the level, while the income tax depends on the gross salary. The major steps are:
1. Read data.
2. Decide level number and calculate perks.
3. Calculate gross salary.
4. Calculate income tax.
5. Compute salary.
6. Print the results.
PROGRAM
#define CA1 1000
#define CA2 750
#define CA3 250
#define CA4 500
#define EA1 500
#define EA2 200
#define EA3 100
#define EA4 0
main ( )
{
int level, jobnumber ;
float gross, basic, house_rent, perks, net, incometax ;
input :
printf ("\nEnter level, job number, and basic pay\n") ;
printf ("Enter 0 (zero) for level to END\n\n") ;
scanf ("%d", &level) ;
if (level == 0) goto stop ;
scanf ("%d %f", &jobnumber, &basic) ;
switch (level)
{
case 1 ;
perks = CA1 + EA1 ;
breaks ;
case 2 ;
perks = CA2 + EA2 ;
breaks ;
case 3 ;
perks = CA3 + EA3 ;
breaks ;
case 4 ;
perks = CA4 + EA4 ;
breaks ;
default :
printf ("Error in level code\n") ;
goto stop ;
}
house_rent = 0.25 * basic ;
gross = basic + house_rent + perks ;
if (gross <= 2000)
incometax = 0 ;
else if (gross <= 4000)
incometax = 0.03 * gross ;
else if (gross <= 5000)
incometax = 0.05 * gross ;
else
incometax = 0.08 * gross ;
net = gross - incometax ;
printf ("%d %d %.2f\n", level, jobnumber, net) ;
goto input ;
stop : printf ("\nEND OF THE PROGRAM") ;
getch ( ) ;
}
Output : Enter level, job number, and basic pay
Enter o (zero) for level to END
1 1111 4000
1 1111 5980.00
Enter level, job number, and basic pay Enter o (zero) for level to END
2 2222 3000
2 2222 4465.00
Enter level, job number, and basic pay
Enter o (zero) for level to END
3 3333 2000
3 3333 3007.00
Enter level, job number, and basic pay Enter o (zero) for level to END
4 4444 1000
4 4444 1500.00
Enter level, job number, and basic pay Enter o (zero) for level to END
0
END OF THE PROGRAM
No comments:
Post a Comment