NEEP HELP!! Income tax caculator

The code test show no error, but the result always come back zero.
What did I do wrong? Can anyone give me some advise?

This is the instruction and my code:

Write a program that can be used to calculate the federal tax. The tax is calculated as follows: For single people, the standard exemption is $4,000; for married people, the standard exemption is $7,000. A person can also put up to 6% of his or her gross income in a pension plan. The tax rates are as follows: If the taxable income is:

Between $0 and $15,000, the tax rate is 15%.
Between $15,001 and $40,000, the tax is $2,250 plus 25% of the taxable income over $15,000.
Over $40,000, the tax is $8,460 plus 35% of the taxable income over $40,000. Prompt the user to enter the following information:
Marital status
If the marital status is “married,” ask for the number of children under the age of 14
Gross salary (If the marital status is “married” and both spouses have income, enter the combined salary.)
Percentage of gross income contributed to a pension fund Your program must consist of at least the following functions:
Function getData: This function asks the user to enter the relevant data.
Function taxAmount: This function computes and returns the tax owed.
To calculate the taxable income, subtract the sum of the standard exemption, the amount contributed to a pension plan, and the personal exemption, which is $1,500 per person. (Note that if a married couple has two children under the age of 14, then the personal exemption is $1,500 ∗ 4 = $6,000.)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include <iostream>
#include <string>

using namespace std;
    
void getData(int numPerson, int numChildren, double salary, 
             int pension, double tax);
double taxAmount(int numPerson, double salary, int pension, 
                 double tax, double totalTax);
             
int main ()
{
    int numberOfPerson = 0;
    int numberOfChildren = 0;
    int pensionPercent = 0;
    double grossIncome = 0;
    double taxableIncome = 0;
    double taxOwed = 0;
    double taxPayment;
    
    getData(numberOfPerson, numberOfChildren, grossIncome, pensionPercent, taxableIncome);
    
    taxPayment = taxAmount(numberOfPerson, grossIncome, pensionPercent, taxableIncome, taxOwed);
    
    cout << "The tax is: " << taxPayment << endl;
           
return 0;
}
     
void getData(int numPerson, int numChildren, double salary, 
             int pension, double tax)
{
    char maritalStatus;
    
    cout << "Enter marital status. M = Married & S = Single. ";
    cin >> maritalStatus;
    cout << endl;
             
    if  (maritalStatus == 'm' || maritalStatus == 'M')
    {  
        cout << "Any children under the age of 14? ";
        cin >> numChildren;
        cout << endl;
        
        numPerson = 2 + numChildren;
    }
       
    else if (maritalStatus == 's' || maritalStatus == 'S')
    {
        numPerson = 1;
    }
        
    cout << "Enter gross income. If married and both spouses are working, enter combine income. ";
    cin >> salary;
    cout << endl;
    
    cout << "Enter the percentage of gross income contributed to the pension. ";
    cin >> pension;
    cout << endl;
}
    
double taxAmount(int numPerson, double salary, int pension,
                 double tax, double totalTax)
{
    
    const int PERSONAL_EXEMPTION = 1500;
    const int SINGLE_EXEMPTION = 4000;
    const int MARRIED_EXEMPTION = 7000;
    
    if (numPerson == 1)
    {
            tax = salary - PERSONAL_EXEMPTION - 
                SINGLE_EXEMPTION - 
                salary * (pension / 100);
    }
    else if (numPerson >= 2)
    {
            tax = salary - MARRIED_EXEMPTION - 
                (PERSONAL_EXEMPTION * numPerson) - 
                salary * (pension / 100);
     }
    
    if (tax >= 0 && tax <= 15000)
        {
            totalTax = tax * 0.15;
        }
        else if (tax >= 15001 && tax <= 40000)
        {
            totalTax = 2250 + (tax - 15000) * 0.25;
        }
        else if (tax >= 40001)
        {
            totalTax = 8460 + (tax - 40000) * 0.35;
        }
        
    
    return totalTax;
}
Your getData function needs all reference parameters so you can modify the original variables. As it stands, you are only modifying your own local copies. You need to add an ampersand before the variable names in getData's parameter list like
 int &numPerson
Last edited on
I got it! Thank you very very much!!!!
Topic archived. No new replies allowed.