您的位置:首页 > 编程语言 > C语言/C++

基于C语言的个人所得税计税系统

2007-10-31 16:08 316 查看

基于C语言的个人所得税计税系统

问题描述:

我国现行的个人所得税计算方法如下:

 级数 全月应纳税所得额     税率(%)

  1 不超过500元的           5

  2 超过500元至2000元的部分     10

  3 超过2000元至5000元的部分     15

  4 超过5000元至20000元的部分    20

  5 超过20000元至40000元的部分    25

  6 超过40000元至60000元的部分    30

  7 超过60000元至80000元的部分    35

  8 超过80000元至100000元的部分   40

  9 超过100000元的部分         45

本实验要求提示用户输入个人的收入后,给出纳税额度和税后工资。

实验目的:

1、提高学员的C编程能力

2、提高学员的逻辑思维能力

3、使学员加深对if语句的理解

问题分析:

如果某人的工资总额为x(= 8000),那么应该按照500*0.05+(2000-500)*0.1+(5000-2000)*0.15+(x-5000)*0.2计算。也就是说在最高“税档”以下的税额是固定的,但是超过最高“税档”的部分按照(X – 税档)*相应税率计算。所以我们必须判断出最高税档,超过最高税档的部分按(X – 税档)*相应税率计算,其它按照(税档差)*相应税率计算。税档是固定的,因此可以把X设为税档上限,就可以重复利用公式(X – 税档)*相应税率计算计算税率。

关键代码解析:

#include <stdio.h>

void main()

{

float m,s,t;

pirntf("请输入你的工资(元):");//提示用户输入工资总额

scanf("%f",&m);//接收工资

t = m;

s = 0;

if(m> 100000)//超过100000按照.45收税

{

s+= (m-100000)*0.45f;

m =100000;

}

if(m> 80000)

{

s+= (m-80000)*0.40f;

m =80000;

}

if(m> 60000)

{

s+= (m-60000)*0.35f;

m =60000;

}

if(m> 40000)

{

s+= (m-40000)*0.30f;

m =40000;

}

if(m> 20000)

{

s+= (m-20000)*0.25f;

m =20000;

}

if(m> 5000)

{

s+= (m-5000)*0.20f;

m =5000;

}

if(m> 2000)

{

s+= (m-2000)*0.15f;

m =2000;

}

if(m> 500)

{

s+= (m-500)*0.10f;

m =500;

}

if(m> 0)

{

s+= (m-0)*0.05f;

//m =500;

}

printf("你的工资总额是: %7.2f",t);

printf("你的税额是: %7.2f",s);

}

存在问题及解决

在实验进行过程中,很多同学放了多余的else导致错误

问题扩充

1、 提供代码的健壮性

2、 容错性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: