how do i fix my code?
now i am trying to add a while loop so the program will only exit if you put 0 or a lower number.
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
|
#include <iostream>
#include <math.h>
#include <string>
using namespace std;
int main()
{
// declare variables
int salary; // income
string Marital_status; //Marital Status
string taxFee;
double taxPercent;
double tax;
// get input from user
while (salary <= 0; salary++)
{
cout << "please enter a valid salary ";
cin >> salary;
}
cout << "what is your income?"<<endl;
cin >> salary;
cout << "are you married or single?"<<endl;
cin >> Marital_status;
// processing
if (Marital_status == "s" || Marital_status == "S") //Single
{
if ((salary >= 0) && (salary < 25000))
{
taxFee = "single first class tax";
taxPercent = .10;
}
else if ((salary >= 25000) && (salary < 75000))
{
taxFee = "single second class tax";
taxPercent = .20;
}
else if ((salary >= 75000) && (salary < 125000))
{
taxFee = "single third class tax";
taxPercent = .30;
}
else if (salary <= 125,000)
{
taxFee = "single fourth class tax";
taxPercent = .40;
}
}
if (Marital_status == "m" || Marital_status == "M") //Married
{
if ((salary >= 0) && (salary < 25000))
{
taxFee = "married first class tax";
taxPercent = .08;
}
else if ((salary >= 25000) && (salary < 75000))
{
taxFee = "married second class tax";
taxPercent = .15;
}
else if ((salary >= 75000) && (salary < 125000))
{
taxFee = "married third class tax";
taxPercent = .25;
}
else if (salary <= 125,000)
{
taxFee = "married fourth class tax";
taxPercent = .30;
}
}
// do processing
tax = salary * taxPercent;
// output results
cout << "based on the salary" << taxFee << " for $" << taxPercent << endl;
cout << "your total tax is $" << tax << " per month" << endl;
system("PAUSE");
return 0;
}
|
Last edited on
You should write
if (Marital_status == "m" || Marital_status == "M")
Your variant of code try to convert address of "M" to bool (and this is always true).
Edit: same should be done with "S"
.
Last edited on
i still have the same problem.
If an user types "m" the application reports single" and vice versa.
Maybe this is your error?
Or maybe I don't understand your question. Can you show your input and desired output?
It looks like you have the program to send out data for single tax if they select married and vice versa.
now i am trying to add a while loop so the program will only exit if you put 0 or a lower number.
while(num > 0)
{
...
...
}