纳税,坚持不懈...switch

来源:互联网 发布:精雕机编程 编辑:程序博客网 时间:2024/05/01 11:45
上机目的:学会使用循环控制语句解决实际问题上机内容:编写多分支选择结构程序,根据个人月收入总额,计算出应缴税款和税后收入。/* * Copyright (c) 2012, 烟台大学计算机学院  * All rights reserved.  * 作    者: 王心垚  * 完成日期:2012 年 10 月25  日  * 版 本 号: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 * 个人所得税=(收入总额-3500)*税率-速算扣除数* 程序输出:应缴税款和税后收入(要求用if语句的嵌套完成程序设计)* 问题分析: * 算法设计: #include <iostream>using namespace std;int main(){double dSalary,dTax=0,dNetIncome=0;double dValue;double dRate, dOffset;int iStep;cout<<"请输入您本月的收入总额(元):";cin>>dSalary;dValue=dSalary-3500;if(dValue<=0.0)dTax=0.0;else{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;else if(dValue>80000)iStep=7;switch(iStep){case 1:;dRate=0.03,dOffset=0.0;break;case 2:;dRate=0.1,dOffset=105.0;break;case 3:;dRate=0.2,dOffset=555.0;break;case 4:;dRate=0.25,dOffset=1005.0;break;case 5:;dRate=0.3,dOffset=2755.0;break;case 6:;dRate=0.35,dOffset=5505.0;break;case 7:;dRate=0.45,dOffset=13505.0;break;}dTax=dValue*dRate-dOffset;}dNetIncome=dSalary-dTax;cout<<"您本月应缴个人所得税"<<dTax<<"元,税后收入是"<<dNetIncome<<"元"<<endl;cout<<"依法纳税,共享繁荣。谢谢使用!"<<endl;return 0;}

运行结果:


心得体会:

switch的确不如if

原创粉丝点击