Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //prata exc 7 chapter 7
- //working, but i'm not happy about names vars and consts
- //have to read a book about properly naming!
- //another matter - which is better style -introducing after_tax or not?
- #include <stdio.h>
- #include <ctype.h>
- #define O_RATE 1.5 //overtime rate
- #define TAX1 0.15
- #define TAX2 0.2
- #define TAX3 0.25
- #define BREAK1 300.0
- #define BREAK2 450.0
- #define WEEK 40.0
- int main()
- {
- float hours,before_tax, after_tax, tax,h_rate;
- int t, flag = 1;
- printf("How many hours have you worked this week?\n");
- scanf("%f",&hours);
- while(flag)
- {
- printf("Choose your hourly tariff: 1. 8.50/h 2. 9.50/h "
- "3. 10.00/h 4. 11.00/h 5. 22.00/h\n");
- scanf("%d",&t);
- flag = 0;
- switch(t)
- {
- //flag=0;
- case 1:
- h_rate = 8.50;
- break;
- case 2:
- h_rate = 9.50;
- break;
- case 3:
- h_rate = 10.00;
- break;
- case 4:
- h_rate = 11.00;
- break;
- case 5:
- h_rate = 22.00;
- break;
- default:
- flag = 1;
- }
- }
- printf("you chosen hourly rate of %f\n",h_rate);
- //calculating salary before tax
- if(hours<=WEEK)
- before_tax = hours * h_rate;
- else
- before_tax = WEEK*h_rate +(hours-WEEK)*O_RATE*h_rate;
- //calculating taxes
- if(before_tax<BREAK1)
- {
- tax = before_tax*TAX1;
- }
- else if(before_tax<BREAK2)
- {
- tax = BREAK1*TAX1+ (before_tax-BREAK1)*TAX2;
- }
- else
- tax = BREAK1*TAX1 + (BREAK2-BREAK1)*TAX2+ (before_tax-BREAK2)*TAX3;
- after_tax = before_tax - tax;
- printf("before %f, after %f, tax %f",before_tax,after_tax,tax);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement