根据当前的个人所得纳税政策,按每月收入计算员工的税后工资。
(2)功能要求
①了解某企业的工资结构,建立相应的结构体。
②在主函数中输入5个以上员工的工资明细,存放在结构体wage数组中。
③编写计税函数,以结构体数组做函数参数,参照税收政策,用switch语句判别、计算各位员工应缴纳的税额。
④编写输出函数,以结构体数组做参数,列出每位员工的税后工资。
#include <stdio.h>
#include <stdlib.h>
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:Tax=(Salary-3500)*0.45-13505;/*个人所得税=(工资-个人所得税扣除额3500)*税率-速算扣除数*/
break;
case 1:Tax=(Salary-3500)*0.35-5505;
break;
case 2:Tax=(Salary-3500)*0.30-2755;
break;
case 3:Tax=(Salary-3500)*0.25-1005;
break;
case 4:Tax=(Salary-3500)*0.20-555;
break;
case 5:Tax=(Salary-3500)*0.10-105;
break;
case 6: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;
}