/*
*程序的版权和版本声明部分:
*Copyright(c)2014,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:田成琳
*完成日期:2014 年 5月 5 日
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述: 输入月收入,计算应缴税费和税后收入
*问题描述:
*程序输出:应缴税费和税后收入
*问题分析:
*算法设计:
*/
Problem Description:
编写多分支选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入。
所得税计算方法:从2011年9月1日起,我国调整个人所得税起征点。基数上调为3500元,超出部分按以下7级计算。
个人所得税计算方法:个人所得税=应纳税所得额*税率-速算扣除数,其中:应纳税所得额=收入总额-不征税收入-免税收入-各项扣除。
本题中忽略免税收入和各项扣除,不征税收入即起征点基数3500元,所以有:个人所得税=(收入总额-3500)*税率-速算扣除数
例如:王某月收入总额3600元,个人所得税=(3600-3500)*3%=3元,李某月收入13500元,个人所得税=(13500-3500)*25%-1005=2500-1005=1495元。
本题的关键是如何根据应纳税所得额,确定税率和速算扣除数。
void CMyDlg::OnButton1()
{
UpdateData();
double yjs1,yjs2,yjs3,yjs4,yjs5,yjs6,yjs7;
if(m_ysr<3500)
MessageBox("您无需缴费!");
else
{
yjs1=(m_ysr-3500)*0.03;
yjs2=yjs1+(m_ysr-5000)*0.10-105;
yjs3=yjs1+yjs2+(m_ysr-8000)*0.20-555;
yjs4=yjs1+yjs2+yjs3+(m_ysr-12500)*0.25-1005;
yjs5=yjs1+yjs2+yjs3+yjs4+(m_ysr-38500)*0.30-2755;
yjs6=yjs1+yjs2+yjs3+yjs4+yjs5+(m_ysr-58500)*0.35-5505;
yjs7=yjs1+yjs2+yjs3+yjs4+yjs5+yjs6+(m_ysr-83500)*0.40-13505;
if(m_ysr<=5000)
m_yjs=yjs1;
else if(m_ysr>5000&&m_ysr<8000)
m_yjs=yjs2;
else if(m_ysr>=8000&&m_ysr<12500)
m_yjs=yjs3;
else if(m_ysr>=12500&&m_ysr<38500)
m_yjs=yjs4;
else if(m_ysr>=38500&&m_ysr<58500)
m_yjs=yjs5;
else if(m_ysr>=58500&&m_ysr<83500)
m_yjs=yjs6;
else if(m_ysr>83500)
m_yjs=yjs7;
m_shsr=m_ysr-m_yjs;
}
UpdateData(FALSE);
}
运行结果:
心得体会:就在这个晴朗的上午,一个孤独的孩子努力编码,为了梦而奋斗~