【项目:个人所得税计算器switch语句版】

编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:关于个人所得税的有关背景知识)。

(1)用switch语句完成;

(2)可以在下面程序的基本框架基础上完成,如需其他变量自行增加

#include

int main ( )

{

double dSalary,dTax=0,dNetIncome=0;

printf("请输入您本月的收入总额(元):");

scanf("%lf", &dSalary);

// 下面求解应缴个人所和税dTax和税后收入dNetIncome

printf("您本月应缴个人所和税 %.2lf 元,税后收入是 %.2lf 元。\n", dTax, dNetIncome);

printf("依法纳税,共享繁荣。谢谢使用!\n");

return 0;

}附:关于个人所得税的有关背景知识

计算方法:个人所得税=(收入总额-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元。

更多了解速算扣除数,请找百度百科。

[参考解答]

解法1:

下面是用switch语句完成的程序。如果感觉这样做还不如直接用if,这种看法也是对的,这种解法的意义也就仅在于练习switch了。

#include

int main ( )

{

double dSalary,dTax=0,dNetIncome=0; //请欣符合匈牙利命名法的变量名

double dValue; //在模板基础上加一个变量,表示超出起征点的收入

double dRate, dOffset; //分别表示税率和速算扣除数

int iStep; //用于确定交税的“档次”

printf("请输入您本月的收入总额(元):");

scanf("%lf", &dSalary);

// 下面求解应缴个人所和税dTax和税后收入dNetIncome

dValue = dSalary - 3500; //在起征点基础上考虑纳税

if(dValue <= 0.0)

dTax = 0.0; //不需要交税

else

{

//这一组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;

else

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;

}

dTax = dValue * dRate - dOffset; //计算所得税,体会将“确定参数”与“计算”分开的好处:思路更明晰,不易在计算公式上犯大错

}

dNetIncome = dSalary-dTax; //计算税后收入

printf("您本月应缴个人所和税 %.2lf 元,税后收入是 %.2lf 元。\n", dTax, dNetIncome);

printf("依法纳税,共享繁荣。谢谢使用!\n");

return 0;

}

解法2:这是我的一位2011级学生提供的解答,很巧妙

#include

int main( )

{

double m=0,s=0,f=0; //m为总收入,s为需要缴税的部分,f为税额

int t=0; //t用做判断

printf("你丫的一个月挣多少银子???\n");

scanf("%lf", &m);

if (m<=3500)

cout<

else

{

s=m-3500;

t=(s>=1500)+(s>=4500)+(s>=9000)+(s>=35000)+(s>=55000)+(s>=80000); //这是亮点,条件表达式为真,其值为1,t表示符合条件的个数

switch(t)

{

case 6:

f=s*0.45-13505;

break;

case 5:

f=s*0.35-5505;

break;

case 4:

f=s*0.30-2755;

break;

case 3:

f=s*0.25-1005;

break;

case 2:

f=s*0.20-555;

break;

case 1:

f=s*0.10-105;

break;

case 0:

f=s*0.03;

break;

}

printf("您的税后收入为:%.2lf \n", m-f);

cout<

printf("* * * * * * * * * * *\n");

printf("* 爱国护税,人人有责 *\n");

printf("* * * * * * * * * * *\n");

}

return 0;

}

C语言程序设计 计算个人所得税 浙大版,《C语言及程序设计》实践参考——个人所得税计算器switch语句版...相关推荐

  1. C语言及程序设计 实践参考——个人所得税计算器switch语句版

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 返回:贺 ...

  2. 《C语言及程序设计》实践参考——个人所得税计算器switch语句版

    返回:贺老师课程教学链接  项目要求 [项目:个人所得税计算器switch语句版] 编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:关于个人所得税的有关背景知识). ...

  3. 26 利用switch语句解决问题 【项目1:投票表决器】【项目2:成绩等级】【项目3:分段函数求值switch语句版】【项目4:本月有几天?】【项目5:个人所得税计算器switch语句版】

    /*项目1:投票表决器] 设计一个投票表决器,其功能是: 输入Y.y,打印agree 输入N.n,打印disagree 输入其他,打印lose */#include <stdio.h>in ...

  4. 【C语言及程序设计】项目1-24-4:个人所得税计算器if语句版

    对比笔者和老师的code 笔者: 1 // 个人所得税计算器if语句版.cpp: 2 问题描述:https://blog.csdn.net/sxhelijian/article/details/439 ...

  5. C语言及程序设计 实践参考——个人所得税计算器if语句版

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 返回:贺 ...

  6. 《C语言及程序设计》实践参考——个人所得税计算器if语句版

    返回:贺老师课程教学链接  项目要求 [项目:个人所得税计算器if语句版] 编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:关于个人所得税的有关背景知识). (1) ...

  7. 浙大 java语言程序设计编程答案,浙大《Java语言程序设计》编程答案4

    浙大<Java语言程序设计>编程答案4 实验5 分支结构程序的设计程序填空,不要改变与输入输出有关的语句.一.显示两级成绩 输入一个正整数repeat (0b) min=b;if(minc ...

  8. c语言for可以不用花括号吗,c-使用不带花括号的switch语句是否有用?

    这是由Dennis Ritchie在1972年进行的第一个C编译器工作期间编写的示例. 我刚刚链接到的页面底部的c02.c模块包括 easystmt() { extern peeksym, peekc ...

  9. c语言程序计算p q真值表,C语言程序设计第2章数据类型﹒运算符和表达式.ppt

    C语言程序设计第2章数据类型﹒运算符和表达式 教学目标 掌握C语言标识符的组成 理解C语言的基本数据类型 掌握变量定义的方法 掌握常用的运算符的使用 掌握混合运算的数据转换方法 2.1 C语言的数据类 ...

最新文章

  1. 拿下两个世界第一,阿里人机对话模型成人工智能国际通用标准
  2. 身份证校验原理和PHP实现
  3. 使用java 自带的webservice
  4. 如何从零开始开发一款嵌入式产品(20年的嵌入式经验分享学习)
  5. 免费的精品: Productivity Power Tools 动画演示
  6. jsp小区停车位管理系统
  7. PLC同时连接多个触摸屏和电视机显示器解决方案
  8. 12 Best Custom ROMs for Android You Can Install
  9. c语言程序小兔子吃萝卜图片,小白兔吃萝卜看图写话范文
  10. contiki之list(1)
  11. 天涯论坛——python舆情分析汇总(四)
  12. 【校招VIP】前端校招考点之页面转换算法
  13. (C语言)啥?4除以2等于0?
  14. 【工作】python识别不同国家语言类型
  15. Angular 4入门教程系列:9:TypeScript:ECMAScript之前世今生
  16. 快手公布于香港联交所主板上市计划详情;木莲庄酒管全线开放加盟合作 | 美通企业日报...
  17. 2022美赛数学建模B题思路分享
  18. spark官网无法下载spark问题
  19. pytest文档25-conftest.py作用范围
  20. God of War:Chains of Olympus download! 下载战神奥林匹斯之链!(ISO torrent)

热门文章

  1. C++系列总结——构造与析构
  2. ClassLoader(一)- 介绍
  3. 前台服务(在通知栏显示服务)
  4. JMeter 测试计划
  5. Spring 事务不回滚
  6. 测试缺陷分析务实篇-转
  7. [ubuntu]dlna平台搭建(在家里,寝室搭建自己的影音平台)
  8. 【转】sql server开启全文索引方法
  9. EDM营销内容撰写要注意的几个方面
  10. GPU Gems翻译