sx8:收入与纳税

根据当前的个人所得纳税政策,按每月收入计算员工的税后工资。
(2)功能要求
①了解某企业的工资结构,建立相应的结构体。
②在主函数中输入5个以上员工的工资明细,存放在结构体wage数组中。
③编写计税函数,以结构体数组做函数参数,参照税收政策,用switch语句判别、计算各位员工应缴纳的税额。
④编写输出函数,以结构体数组做参数,列出每位员工的税后工资。


#include 
#include 

typedef struct
{
    char name[20];
    char id[30];/*工号*/
}WAGE;

//计算税后工资
void calcuTax(int t,int Salary,int Tax,int NetIncome) /*工资,税收,净收入*/
{
    t=(Salary-3500<1500)+(Salary-3500<4500)+(Salary-3500<9000)+(Salary-3500<35000)+(Salary-3500<55000)+(Salary-3500<80000);//t用于判断
    NetIncome=Salary-Tax;

    // 下面求解应缴个人所得税Tax和税后收入NetIncome
    switch(t)
    {
       case 0:
       if(Salary>80000)
       Tax=(Salary-3500)*0.45-13505;break;/*个人所得税=(工资-个人所得税扣除额3500)*税率-速算扣除数*/
       case 1:
       if(Salary>55000&&Salary<80000)
       Tax=(Salary-3500)*0.35-5505;break;
       case 2:
       if(Salary>35000&&Salary<55000)
       Tax=(Salary-3500)*0.30-2755;break;
       case 3:
       if(Salary>9000&&Salary<35000)
       Tax=(Salary-3500)*0.25-1005;break;
       case 4:
       if(Salary>4500&&Salary<9000)
       Tax=(Salary-3500)*0.20-555;break;
       case 5:
       if(Salary>1500&&Salary<4500)
       Tax=(Salary-3500)*0.10-105;break;
       case 6:
       if(Salary>0&&Salary<1500)
       Tax=(Salary-3500)*0.03;break;
       default :printf("error\n");break;
       printf("您本月应缴个人所得税Tax=%d元,税后收入是NetIncome=%d元。\n");
    }
    return 0;
}

int main()
{
    int t;
    char name,id;
    int Salary,Tax,NetIncome;
    printf("请依次输入每个员工的姓名 工号 工资:\n");
    scanf("%c", &name);
    scanf("%c", &id);
    scanf("%d",&Salary);
    calcuTax(t,Salary,Tax,NetIncome);

    return 0;
}

未运行出

#include 
#include 

typedef struct wage
{
    char name[10];
    int jbm;
    int gwm;
    int jtm;

}WAGE;
int sd(float a)
{ 
    float gs;
    if(a>0&&a<=1500)
        gs=a*(3.0/100)-0;
    else if(a>1500&&a<=4500)
        gs=a*(10.0/100)-105;
    else if(a>4500&&a<=9000)
        gs=a*(20.0/100)-555;
    else if(a>9000&&a<=35000)
        gs=a*(25.0/100)-1005;
    else if(a>35000&&a<=55000)
        gs=a*(30.0/100)-2755;
    else if(a>55000&&a<=80000)
        gs=a*(35.0/100)-5505;
    else if(a>80000)
        gs=a*(45.0/100)-13505;
    return gs;
}
int main()
{
    int i;
    float sum[5],s[5],m[5];
    WAGE peo[5]={
        {"利",2500,2000,1800},
        {"元",3500,2500,2000},
        {"乐",5500,3000,2000},
        {"云",7000,4500,3500},
        };
   printf("姓名\t基本工资\t岗位工资\t津贴工资\t税后收入\t个人税收\n");
   for(i=0;i<5;i++)
   {
       sum[i]=peo[i].jbm+peo[i].gwm+peo[i].jtm;
       s[i]=sd(sum[i]);
       m[i]=sum[i]-s[i];
       printf("%s\t%d\t%d\t%d\t%f\t%f\n",peo[i].name,peo[i].jbm,peo[i].gwm,peo[i].jtm,sum[i],s[i],m[i]);
   }

}

运行结果如下:
sx8:收入与纳税_第1张图片

你可能感兴趣的:(c语言)