使用c语言设计一个计算器,要求可以计算个人所得税

要求可以适应个税税率起征点的调整

#include"stdio.h"
double count(int a,int b)
{
double c=a-b-3500;
if(c<=0)
c=0;
else if(c<=1500)
c=c*0.03;
else if(c<=4500)
c=c*0.1-105;
else if(c<=9000)
c=c*0.2-555;
else if(c<=35000)
c=c*0.25-1005;
else if(c<=55000)
c=c*0.3-2755;
else if(c<=80000)
c=c*0.35-5505;
else
c=c*0.45-13505;
return c;
}
void main()
{
int chose;
while(1)
{
printf("\t\t个人所得税计算器\n");
printf("1.计算个人所得税\n");
printf("2.退出\n");
printf("请输入选项(1或2):");
scanf("%d",&chose);
if(chose==2)
break;
else if(chose==1)
{
int pay,baoxian;
printf("\n输入你的月收入:");
scanf("%d",&pay);
printf("\n输入你的三险一金:");
scanf("%d",&baoxian);
printf("你的个人所得税为:%0.2f",count(pay,baoxian));
}
else
{
printf("\n\t\t>>>注意:请输入1或2<<<\n");
}
}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-15
根据2011年9月1日起调整后的7级超额累进税率设计,调试通过
#include"stdio.h"
double count(int a,int b)
{
double c=a-b-3500;
if(c<=0)
c=0;
else if(c<=1500)
c=c*0.03;
else if(c<=4500)
c=c*0.1-105;
else if(c<=9000)
c=c*0.2-555;
else if(c<=35000)
c=c*0.25-1005;
else if(c<=55000)
c=c*0.3-2755;
else if(c<=80000)
c=c*0.35-5505;
else
c=c*0.45-13505;
return c;
}
void main()
{
int chose;
while(1)
{
printf("\t\t个人所得税计算器\n");
printf("1.计算个人所得税\n");
printf("2.退出\n");
printf("请输入选项(1或2):");
scanf("%d",&chose);
if(chose==2)
break;
else if(chose==1)
{
int pay,baoxian;
printf("\n输入你的月收入:");
scanf("%d",&pay);
printf("\n输入你的三险一金:");
scanf("%d",&baoxian);
printf("你的个人所得税为:%0.2f",count(pay,baoxian));
}
else
{
printf("\n\t\t>>>注意:请输入1或2<<<\n");
}
}

}追问

a和b分别表示什么?a-b表示什么?

追答

a表示 月总工资
b表示 三险一金
月总工资减去三险一金再减去 3500,就是要缴税的收入了

追问

今天看程序的时候有个地方不太明白,就是
while(1)
{
printf("\t\t个人所得税计算器\n");
printf("1.计算个人所得税\n");
printf("2.退出\n");
printf("请输入选项(1或2):");
scanf("%d",&chose);
if(chose==2)
break;
我不明白为什么要把while循环加在这里?

追答

你计算个人所得税,不想用一次程序就关闭了吧。运行一下,你就知道了

追问

嗯,谢谢,因为运行软件64位的没有安装成功所以跟你问问,谢谢帮忙

追答

不客气,选我为最佳答案吧

本回答被提问者和网友采纳
第2个回答  2012-12-15
这个页面的代码可以改下,就行了。
http://finance.21cn.com/bank/computer/tax.html
第3个回答  2012-12-15
就是按照现行的个人所得税征收标准编写的程序吗?
我去年写过一个追问

可以自动调整各税起征点吗?能循环输入员工的收入吗?

相似回答