个人所得税计算器8.1模板

课程主页在,实践要求见。课程资源在同步展示,使用的帐号请到课程主页中查看。&【项目4:个人所得税计算器】编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:关于个人所得税的有关背景知识)。(1)自选if语句的嵌套或/和switch语句完成程序设计;(2)下面给出程序的基本框架,因本题目规则复杂,为方便同学们写出带注释的博文,在云学堂共享的“第8周实践源代码及博文模板.txt”中给出了博文模板,请下载使用。#include &iostream&
int main( )
double dSalary,dTax=0,dNetIncome=0;
cout&&&请输入您本月的收入总额(元):&;
// 下面求解应缴个人所和税dTax和税后收入dNetIncome
cout&&&您本月应缴个人所和税 &&&dTax&&& 元,税后收入是 &&&dNetIncome&&& 元。\n&;
cout&&&依法纳税,共享繁荣。谢谢使用!\n&;
}附:关于个人所得税的有关背景知识计算方法:个人所得税=(收入总额-3500)*税率-速算扣除数从日起,我国个人所得税起征点基数为3500元,超出部分按以下7级计算。序号 收入范围 税率 速算扣除数1 超过0至1500 3% 02 超过1500元至4500元的部分 10% 1053 超过4500元至9000元的部分 20% 5554 超过9,000元至35,000元的部分 25% 10055 超过35,000元至55,000元的部分 30% 27556 超过55,000元至80,000元的部分 35% 55057 超过80,000以上 45% 13505例如:王某月收入总额3600元,个人所得税=()*3%=3元;再例:李某月收入13500元,个人所得税=()*25%-05=1495元。更多了解速算扣除数,请找百度百科。【参考解答】&& 参考1:先提供一个用if-else完成的解法#include &iostream&
int main( )
double dSalary,dTax=0,dNetIncome=0;
//请欣符合匈牙利命名法的变量名
//在模板基础上加一个变量,表示超出起征点的收入
cout&&&请输入您本月的收入总额(元):&;
dValue=dSalary-3500;
//在起征点基础上考虑纳税
if(dValue&=0.0)
if(dValue&=1500)
dTax=dValue*0.03-0.0;
//直接根据税率和速算扣除数计算
else if(dValue&=4500)
dTax=dValue*0.10-105.0;
else if(dValue&=9000)
dTax=dValue*0.20-555.0;
else if(dValue&=35000)
dTax=dValue*0.25-1005.0;
else if(dValue&=55000)
dTax=dValue*0.30-2755.0;
else if(dValue&=80000)
dTax=dValue*0.35-5505.0;
dTax=dValue*0.45-13505.0;
dNetIncome=dSalary-dT
//计算得到
cout&&&您本月应缴个人所得税 &&&dTax&&& 元,税后收入是 &&&dNetIncome&&& 元。\n&;
cout&&&依法纳税,共享繁荣。谢谢使用!\n&;
参考2:在参考1基础上做些改进的解法#include &iostream&
int main( )
double dSalary,dTax = 0,dNetIncome = 0;
//请欣符合匈牙利命名法的变量名
//在模板基础上加一个变量,表示超出起征点的收入
double dRate, dO
//分别表示税率和速算扣除数
cout&&&请输入您本月的收入总额(元):&;
dValue = dSalary - 3500;
//在起征点基础上考虑纳税
if(dValue &= 0.0)
dTax = 0.0;
//不需要交税
if(dValue &= 1500)
dRate = 0.03, dOffset = 0.0;
//这一组if语句用于得到税率和速算扣除数
else if(dValue &= 4500)
dRate = 0.1, dOffset = 105.0;
else if(dValue &= 9000)
dRate = 0.2, dOffset = 555.0;
else if(dValue &= 35000)
dRate = 0.25, dOffset = 1005.0;
else if(dValue &= 55000)
dRate = 0.3, dOffset = 2755.0;
else if(dValue &= 80000)
dRate = 0.35, dOffset = 5505.0;
dRate = 0.45, dOffset = 13505.0;
dTax = dValue * dRate - dO
//计算所得税,体会将“确定参数”与“计算”分开的好处:思路更明晰,不易在计算公式上犯大错
dNetIncome = dSalary-dT
//计算税后收入
cout&&&您本月应缴个人所得税 &&&dTax&&& 元,税后收入是 &&&dNetIncome&&& 元。\n&;
cout&&&依法纳税,共享繁荣。谢谢使用!\n&;
参考3:下面是用switch语句完成的程序。如果感觉这样做还不如直接用if,这种看法也是对的,这种解法的意义也就仅在于练习switch了。#include &iostream&
int main( )
double dSalary,dTax = 0,dNetIncome = 0;
//请欣符合匈牙利命名法的变量名
//在模板基础上加一个变量,表示超出起征点的收入
double dRate, dO
//分别表示税率和速算扣除数
//用于确定交税的“档次”
cout&&&请输入您本月的收入总额(元):&;
dValue = dSalary - 3500;
//在起征点基础上考虑纳税
if(dValue &= 0.0)
dTax = 0.0;
//不需要交税
//这一组if语句确定交税的档次
if(dValue &= 1500)
iStep = 1;
else if(dValue &= 4500)
iStep = 2;
else if(dValue &= 9000)
iStep = 3;
else if(dValue &= 35000)
iStep = 4;
else if(dValue &= 55000)
iStep = 5;
else if(dValue &= 80000)
iStep = 6;
iStep = 7;
//根据确定的档次,得到税率和速算扣除数,这样处理和问题中给出的列表形式有较好的对应
//如果按照教材中的例子,通过类似c=s/n(n最大取500)的形式得到switch的&表达式&,下面的清单得列的很长
switch(iStep)
dRate = 0.03, dOffset = 0.0;
dRate = 0.1, dOffset = 105.0;
dRate = 0.2, dOffset = 555.0;
dRate = 0.25, dOffset = 1005.0;
dRate = 0.3, dOffset = 2755.0;
dRate = 0.35, dOffset = 5505.0;
dRate = 0.45, dOffset = 13505.0;
dTax = dValue * dRate - dO
//计算所得税,体会将“确定参数”与“计算”分开的好处:思路更明晰,不易在计算公式上犯大错
dNetIncome = dSalary-dT
//计算税后收入
cout&&&您本月应缴个人所得税 &&&dTax&&& 元,税后收入是 &&&dNetIncome&&& 元。\n&;
cout&&&依法纳税,共享繁荣。谢谢使用!\n&;
参考4:话说到这里过早了,需要在switch前用点脑子,下面是2011级一位同学给出的解答()#include &iostream&
int main( )
double m=0,s=0,f=0; //m为总收入,s为需要缴税的部分,f为税额
//t用做判断
cout&&&你丫的一个月挣多少银子???&&&'\n';
if (m&=3500)
cout&&&你不需要缴税,谢谢使用,请努力工作争取加工资!&;
t=(s&=1500)+(s&=4500)+(s&=9000)+(s&=35000)+(s&=55000)+(s&=80000); //这是亮点,条件表达式为真,其值为1,t表示符合条件的个数
case 6:f=s*0.45-13505;
case 5:f=s*0.35-5505;
case 4:f=s*0.30-2755;
case 3:f=s*0.25-1005;
case 2:f=s*0.20-555;
case 1:f=s*0.10-105;
case 0:f=s*0.03;
cout&&&您的税后收入为: &&&m-f&&'\n';
cout&&'\n';
cout&&&* * * * * * * * * * *&&&'\n';
cout&&&* 爱国护税,人人有责 *&&&'\n';
cout&&&* * * * * * * * * * *&&&'\n';
}参考5:引入数组,实现了数据与程序的分离。其实,分离的程度还不够。在正式的项目中,数据几乎没有定义在程序中的。如果感兴趣,自己看一看数组,再理解这个解答;如果觉得太费脑子,看一下忽略过去,反正后面才学。#include &iostream&
int main( )
double dSalary,dTax = 0,dNetIncome = 0;
//请欣赏符合匈牙利命名法的变量名
//在模板基础上加一个变量,表示超出起征点的收入
double dValues[]={00,,80000};
//用数组表示各段分界线
double dRate[]={0.03,0.10,0.20,0.25,0.30,0.35,0.45};
//用数组描述各段税率
double dOffset[]={0,105,555,05,13505};
//用数组描述速算扣除数
int iStep,
//iStep用于确定交税的“档次”,i用作为循环变量
cout&&&请输入您本月的收入总额(元):&;
dValue = dSalary - 3500;
//在起征点基础上考虑纳税
if(dValue &= 0.0)
dTax = 0.0;
//不需要交税
while(dValue & dValues[i] && i&=6)//通过在数组中查找确定交税的档次
dTax = dValue * dRate[iStep] - dOffset[iStep];
//计算所得税,这种解决方法将程序和数据分开,更简洁
dNetIncome = dSalary-dT
//计算税后收入
cout&&&您本月应缴个人所得税 &&&dTax&&& 元,税后收入是 &&&dNetIncome&&& 元。\n&;
cout&&&依法纳税,共享繁荣。谢谢使用!\n&;
=================== 迂者 贺利坚 CSDN博客专栏=================
|==   ==|
|==    ==|
|== 我写的书——《》    ==|
=====&为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
迂者自勉:
※能取得一点点突破,就是进步
※并肩学生与不良学风坚决斗争
※甘为草根,仰慕草根之力量
※还原大学和大学学习之本色
∞心系教育,热爱生活
∞我的专栏-
∞给我写信
∞不用QQ-它会谋杀整段的时间
友情链接:周兆熊为IT学子解惑、个税8.1模板在哪?_百度知道
个税8.1模板在哪?
我有更好的答案
金蝶财税王
登陆地税纳税识别号和密码后,网页上有显示的,点击就可以!
其他类似问题
为您推荐:
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁个人所得税8.1模板_百度知道
个人所得税8.1模板
我有更好的答案
我的也是啊,请问你找到问题的症结了吗
其他类似问题
为您推荐:
您可能关注的推广回答者:
个人所得税的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁(模板)税务管理制度_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
(模板)税务管理制度
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢}

我要回帖

更多关于 个人所得税计算器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信