上机内容:编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入
上机目的:分支结构编程
我的程序:
运行结果:
心得体会:
1.匈牙利命名法:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分,如double型的个人所得税名为dSalary.
2.使用分支结构在划分分支时,可使用某个变量代替表达式作为比较值,如上dValue=dSalary-1500;
上机目的:分支结构编程
我的程序:
/*
* 程序的版权和版本声明部分:
* Copyright (c) 2013, 青岛农业大学理信学院
* All rights reserved.
* 文件名称:个人所得税计算器.cpp
* 作 者:幻影行者
* 完成日期:2013 年 7 月 19 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:输入个人月收入总额
* 问题描述:输入个人月收入总额,计算出他本月应缴税款和税后收入。
* 按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
* 个人所得税=(收入总额-1500)*税率-速算扣除数
* 程序输出:输出本月应缴税款和税后收入
* 问题分析:略
* 算法设计:略
*/
#include<iostream>
using namespace std;
int main()
{
double dSalary,dRate,dDeduct,dPayment,dValue; //个人月收入dSalary,税率dRate,速算扣除数dDeduct,个人所得税dPayment(匈牙利命名法)
cout<<"请输入个人月收入总额:";
cin>>dSalary;
dValue=dSalary-1500; //定义一个比较值,方便下面比较划分等级使用
if(dValue<=0)
cout<<"您不需要交税,同志仍需努力,争取为人民做点贡献。"<<endl;
else
{
if(dValue<=1500)
dRate=0.03,dDeduct=0;
else if(dValue<=4500)
dRate=0.10,dDeduct=105;
else if(dValue<=9000)
dRate=0.20,dDeduct=555;
else if(dValue<=35000)
dRate=0.25,dDeduct=1005;
else if(dValue<=55000)
dRate=0.30,dDeduct=2755;
else if(dValue<=80000)
dRate=0.45,dDeduct=13505;
dPayment=(dSalary-1500)*dRate-dDeduct; //根据公式个人所得税=(收入总额-1500)*税率-速算扣除数计算个人所得税
cout<<"个人所得税为:"<<dPayment<<endl;
cout<<"税后收入为:"<<dSalary-dPayment<<endl;
}
return 0;
}
运行结果:
心得体会:
1.匈牙利命名法:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分,如double型的个人所得税名为dSalary.
2.使用分支结构在划分分支时,可使用某个变量代替表达式作为比较值,如上dValue=dSalary-1500;