• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 338
  • Last Modified:

constants

can someone help me understand constants please. Here is my program i'm writing, but it's not working the deductions right.  
      char lastName[10];  
      char firstName[10];  
      float hoursWorked;
      double grossPay =0;
      double rate;
      const double sTax    = .075;
      const double fTax    = .15;
      const double miscDed = .20;
      double netIncome;
      double deduction;

//Calculate pay and deductions
      grossPay = hoursWorked * rate;
      deduction = (sTax + fTax + miscDed);
      netIncome = grossPay * deduction;

thanks,
nationnon

0
nationnon
Asked:
nationnon
  • 4
  • 2
  • 2
  • +1
1 Solution
 
homer99Commented:
what kind of output are you getting
0
 
nationnonAuthor Commented:
Enter your last name: r
Enter your first name: r
Enter hours worked: 40
Enter pay rate: 10
r r's gross pay was 400 but after deductions pay is now 170

Press any key to continue

0
 
nationnonAuthor Commented:
that's not the right deduction
are the constants right?
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
homer99Commented:
nationnon:
your constants are fine.  your code is also fine except the last line. I believe it should read:
netIncome=netIncome - netIncome * deduction.
Give this a try.
0
 
homer99Commented:
correction: netIncome = grossPay - grossPay * deduction;
sorry about that.
0
 
kishore_joshiCommented:
Hi,
I think u need to use the following formula,


deduction = (sTax + fTax + miscDed)*rate * hoursWorked ;
netIncome = grossPay - deduction;


Thats it....

0
 
nietodCommented:
True, but the other problem is that sTax and fTax are holding the tax _percents_ not the tax themselves.

Use an exampel to help you.  If you are in the 10% bracket (I wish) and you earn $100 (okay I don't wish) your tax should be $10 and you net shoudl be $90.

So

Tax = TaxPercent*Gross;
Net = Gross-Tax;
0
 
nietodCommented:
double grossPay =0;
double rate;
const double sTaxPct    = .075;
const double fTaxPct    = .15;
const double miscDedPct = .20;
double sTaxAmt ;
double fTaxAmt;
double miscDedAmt;

double netIncome;
double deduction;

//Calculate pay and deductions
grossPay = hoursWorked * rate;
sTaxAmt = sTaxPct*grossPay;
fTaxAmt = fTaxPct*grossPay;
miscDedAmt = miscDedPct*grossPay;

deduction = (sTaxAmt + fTaxAmt + miscDedAmt);
netIncome = grossPay - deduction;

(Technically your original

netIncome = grossPay * deduction;

was close, but it was calculatign the total deduction amount, not the net amount.  It should have been

netIncome = grossPay * (1-deduction);

but the method I give above is better when you have to start considering rounding to cents.)
0
 
homer99Commented:
kishore joshi:
you just stated my answer in a different form.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 4
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now