个人所得税计算器

关于个人所得税的有关背景知识
计算方法:个人所得税=(收入总额-3500)*税率-速算扣除数
从2011年9月1日起,我国个人所得税起征点基数为3500元,超出部分按以下7级计算。
序号 收入范围 税率 速算扣除数
1 超过0至1500  3% 0
2 超过1500元至4500元的部分 10% 105
3 超过4500元至9000元的部分 20% 555
4 超过9,000元至35,000元的部分 25% 1005
5 超过35,000元至55,000元的部分 30% 2755
6 超过55,000元至80,000元的部分 35% 5505
7 超过80,000以上 45% 13505
例如:王某月收入总额3600元,个人所得税=(3600-3500)*3%=3元;

再例:李某月收入13500元,个人所得税=(13500-3500)*25%-1005=2500-1005=1495元。

参考博文:个人所得税计算器

#include <iostream>

using namespace std;

void main()
{
	double personalTax;
	double realIncome;
	double grossSalary;
	int quickDeduction[] = {0,105,555,1005,2755,5505,13505};
	double taxRate[] = {0.03,0.10,0.20,0.25,0.30,0.35,0.45};
	cout << "Please input your salary before deducting the personal tax: " << endl;
	cin >> grossSalary;
	if(grossSalary > 3500)
	{
		double salaryInterval = grossSalary - 3500;
		if (salaryInterval > 0 && salaryInterval <= 1500)
		{
			personalTax = salaryInterval * taxRate[0] - quickDeduction[0];
			realIncome = grossSalary - personalTax;
		}
		else if(salaryInterval > 1500 && salaryInterval <= 4500)
		{
			personalTax = salaryInterval * taxRate[1] - quickDeduction[1];
			realIncome = grossSalary - personalTax;
		}
		else if(salaryInterval > 4500 && salaryInterval <= 9000)
		{
			personalTax = salaryInterval * taxRate[2] - quickDeduction[2];
			realIncome = grossSalary - personalTax;
		}
		else if(salaryInterval > 9000 && salaryInterval <= 35000)
		{
			personalTax = salaryInterval * taxRate[3] - quickDeduction[3];
			realIncome = grossSalary - personalTax;
		}
		else if(salaryInterval > 35000 && salaryInterval <= 55000)
		{
			personalTax = salaryInterval * taxRate[4] - quickDeduction[4];
			realIncome = grossSalary - personalTax;
		}
		else if(salaryInterval > 55000 && salaryInterval <= 80000)
		{
			personalTax = salaryInterval * taxRate[5] - quickDeduction[5];
			realIncome = grossSalary - personalTax;
		}
		else if(salaryInterval > 80000)
		{
			personalTax = salaryInterval * taxRate[6] - quickDeduction[6];
			realIncome = grossSalary - personalTax;
		}
	}
	else
	{
		realIncome = grossSalary;
		personalTax = 0;
	}
	cout << "The personal tax is: " << personalTax << endl;
	cout << "The real income is: " << realIncome << endl;
	system("pause");
}
经过参考博文的思考,改进如下:

#include <iostream>

using namespace std;

void main()
{
	double personalTax;
	double realIncome;
	double grossSalary;
	int quickDeduction;
	double taxRate;
	cout << "Please input your salary before deducting the personal tax: " << endl;
	cin >> grossSalary;
	if(grossSalary > 3500)
	{
		double salaryInterval = grossSalary - 3500;
		if (salaryInterval <= 1500)
		{
			quickDeduction = 0;
			taxRate = 0.03;
		}
		else if( salaryInterval <= 4500)
		{
			quickDeduction = 105;
			taxRate = 0.10;
		}
		else if(salaryInterval <= 9000)
		{
			quickDeduction = 555;
			taxRate = 0.20;
		}
		else if(salaryInterval <= 35000)
		{
			quickDeduction = 1005;
			taxRate = 0.25;
		}
		else if(salaryInterval <= 55000)
		{
			quickDeduction = 2755;
			taxRate = 0.03;
		}
		else if( salaryInterval <= 80000)
		{
			quickDeduction = 5505;
			taxRate = 0.35;
		}
		else if(salaryInterval > 80000)
		{
			quickDeduction = 13505;
			taxRate = 0.45;
			
		}
		personalTax = salaryInterval * taxRate - quickDeduction;
		realIncome = grossSalary - personalTax;
	}
	else
	{
		realIncome = grossSalary;
		personalTax = 0;
	}
	cout << "The personal tax is: " << personalTax << endl;
	cout << "The real income is: " << realIncome << endl;
	system("pause");
}



你可能感兴趣的:(个人所得税计算器)