首页 > 其他分享 >个人所得税问题

个人所得税问题

时间:2023-04-16 12:35:31浏览次数:36  
标签:cout profit tax 问题 int 个人所得税 征收

个人所得税问题:

编写一个计算个人所得税的程序,要求输入收入金额后,能够输出应缴的个人所得税。个人所得税征收办法如下:

起征点为3500元。

不超过1500元的部分,征收3%;

超过1500~4500元的部分,征收10%;

超过4500~9000元的部分,征收20%;

超过9000~35000元的部分,征收25%;

超过35000~55000元的部分,征收30%;

超过55000~80000元的部分,征收35%;

超过80000元以上的,征收45%。

解题思路:

输入收入金额,利用设计的函数算出个人所得税然后输出。函数中根据收入与每一部分的前后金额比较来判断是否有税,然后输出每部分的税收以及超出该部分的金额

代码:

#include<iostream>

#include<iomanip>

using namespace std;

# define taxbase 3500

struct taxtable

{

    int x;

    long int y;

    double z;

};

taxtable a[]={{0,1500,0.03},{1500,4500,0.1},{4500,9000,0.2},{9000,35000,0.25},{35000,55000,0.3},{55000,8000,0.35},{80000,1000000000,0.45}};

double caculate(int profit)

{

    double tax=0;

    profit-=taxbase;

    for(int i=0;i<sizeof(a)/sizeof(a[1]);i++)

    {

        if(profit>a[i].x)

        {

            if(profit>a[i].y)

                tax+=(a[i].y-a[i].x)*a[i].z;

            else

                tax+=(profit-a[i].x)*a[i].z;

            profit-=a[i].y;

            cout<<"征税范围:"<<setw(6)<<a[i].x<<"~"<<setw(6)<<a[i].y<<"  该范围内缴税金额:  "<<setw(6)<<setiosflags(ios::fixed)<<setprecision(2)<<tax<<"  超出该范围的金额:  ";

            if(profit>0)

                cout<<setw(6)<<profit<<endl;

            else

                cout<<"     0"<<endl;

        }

    }

    return tax;

}

int main()

{

    int profit;

    double tax;

    cout<<"请输入个人所得金额:"<<endl;

    cin>>profit;

    tax=caculate(profit);

    cout<<"您的个人税收为:"<<setw(12)<<setiosflags(ios::fixed)<<setprecision(2)<<tax<<endl;

    return 0;

}

该题体会:可以利用结构体来储存多组数据以及c++中如何控制输出小数位数的方法

标签:cout,profit,tax,问题,int,个人所得税,征收
From: https://www.cnblogs.com/zljzy/p/17321014.html

相关文章

  • iTween用法与常见问题
    iTweenoncomplete回调不工作iTween.MoveTo(newBoom,iTween.Hash"y",100f,"speed",Boomspeed,"EaseType",BoomeaseType,"LoopType",BoomloopType,"oncomplete","BoomComplete"......
  • 关于站立会议的一些常见问题
    最近看到一些观点,关于敏捷开发各种不好用的观点,来源于水木社区,有兴趣的朋友可以自己去搜索,这里就不罗列了,仅仅记录一些目前我在一个新团队中推动时看到的问题,以及论坛中一些观点涉及到的错误的点,今后可能会发布一系列这方面的文字,随笔随写了。1,水木上某人说在某国企应用敏捷开发,结......
  • 站立会议中发现的一些新问题
    最近在执行站立会议中发现了一些新问题:有些人希望记录下来,然后照着念严重现象,记录往往会产生大量冗余文字,念的时间较长,会浪费其他人时间。有人说,不念,会有忘记遗漏。其实没关系,忘记遗漏一般说明这个事情不重要。时间长了,应该会把自己刚做完的,和要做的事情记得很清楚,因为本来也......
  • [全程建模]一个项目UML设计中的几个问题
    [全程建模]一个项目UML设计中的几个问题广州Sh**nGG(41****586) 2012/11/15 11:04:25各位前辈 针对昨天的那个问题 我做了一些用例图如下广州Sh**nGG(41****586) 2012/11/15 11:05:29针对以上的用例图 做出下面的类图广州Sh**nGG(41****586) 2012/11/15 11:06:52请......
  • [技术讨论]电商业务中的业务合并问题
    今天第一次写这个,其实,这些事情在10年前的erp和其他项目中都是有相应的解决方案的。最近在京东采购了两个单子,遇到了下面的问题:1、发过来的衣服是180/100A的,我只能穿175的,申请换货。2、数码相机28exr的取景器内特别模糊,而液晶屏很清晰,我确认不是我眼睛的问题,所以,只能申请换货。京东......
  • [全程建模]基线和文档版本控制的问题
    基线和文档版本控制2007-05-2312:20:18 伊达全程建模各个阶段的结束标志,有吗?2007-05-2312:20:35 伊达例如:需求阶段如何才算结束了?分析阶段如何才算结束了?2007-05-2312:21:21青润因为是迭代化开发的建议,因此没有明显的结束标志,主要还是看工件的完成情况,比如需求真的全部做......
  • 伪需求问题分析
    B端项目即是需求明确的项目,又是需求最容易出现误差项目需求明确指的是需求出自客户之口,入于吾耳相对于C端项目跟明确。容易出现误差是因为B业务复杂,不可能一次性完整描述。缺少同理心我记得有这样一个故事,有人问一个农民:“你认为当官的家里都有些什么”,农民答:“那肯定是堆满了......
  • 什么是前端开发领域的 Cumulative Layout Shift 问题
    CLS是CumulativeLayoutShift(累计布局偏移)的缩写,它是一个用于度量网页稳定性的指标。CLSissue指的是网页在加载过程中存在的累计布局偏移问题,这些问题会导致网页元素在页面上闪烁或跳动,影响用户体验。在前端开发中,CLSissue是一个常见的问题,通常由于页面中的图片、视频或广......
  • 深度学习Pytorch中组卷积的参数存储方式与剪枝的问题
    写这个主要是因为去年做项目的时候需要对网络进行剪枝普通卷积倒没问题涉及到组卷积通道的裁剪就对应不上当时没时间钻研现在再看pytorch钻研了一下仔细研究了一下卷积的weight.data的存储1.搭建网络这里先随便搭建一下网络放几个深度可分离卷积和普通卷积import......
  • 兔子产子问题
    自然语言解决问题:该题目涉及到斐波那契数列,可设定前两个月的兔子总数为fib1=fib2=1从第三个月开始当月总数为当月前两月之和。流程图:  具体代码:#include<stdio.h>intmain(){intfib1=1,fib2=1,fib;inti;printf("%10d%10d",fib1,fib2);for(i=3;i<=30;i++){fib=fib......