标签:printf har bre pmt ble 分享图片 流程图 没有 ***
一、简述
此次程序没有涉及函数,完成工资、保险和住房公积金税前税后的查询。工资和社保公积金算法是依据最新的北京标准计算。
五险一金标准:
税率:
1、输入编号1~6查询保险,然后再选择是依据税前工资还是税后工资查询,选择0返回上一菜单。
2、输入编号7查询工资,然后再选择是依据税前工资还是税后工资查询,选择0返回上一菜单。
3、输入编号8查询个人应缴款明细,然后再选择是依据税前工资还是税后工资查询,选择0返回上一菜单。
4、输入编号9查询单位应缴明细,然后再选择是依据税前工资还是税后工资查询,选择-返回上一菜单。
5、输入编号0,退出当前系统
二、流程图
二、代码
#include<stdio.h> #include<stdlib.h> double PEI; //个人应缴养老保险金额 double PMI; //个人应缴医疗保险金额 double PUI; //个人应缴失业保险金额 double PEII; //个人应缴工伤保险金额 double PMTI; //个人应缴生育保险金额 double PHF; //个人应缴住房公积金金额 double CEI; //单位应缴养老保险金额 double CMI; //单位应缴医疗保险金额 double CUI; //单位应缴失业保险金额 double CEII; //单位应缴工伤保险金额 double CMTI; //单位应缴生育保险金额 double CHF; //单位应缴住房公积金金额 double Pt; //税前工资 double T; //税金 double At; //税后工资 double Tt=3500.0; //起征点 double Tr; //税率 double Q; //速算扣除数 double SH; //个人应缴社保和住房公积金总额 double Qt; //全月应纳税所得额 void main() { int a,b; char choos[20]; while(1) { //功能选择i printf("************************\n"); printf("社会保障体系\n""1:养老保险\n""2:医疗保险\n""3:失业保险\n""4:工伤保险\n""5:生育保险\n""6:住房公积金\n""7:工资计算器\n""8:个人应缴款明细\n""9:单位应缴款明细\n""0:退出当前系统\n"); printf("请输入功能编号:"); scanf("%d",&a); printf("************************\n"); switch(a) { //养老保险信息 case 1: printf("-------------*******------------\n"); printf("欢迎进入养老保险页面\n"); printf("-------------*******------------\n"); b = 1; while(b) { //税前税后选择 printf("1:输入税前工资计算养老保险\n""2:输入税后工资计算养老保险\n""0:返回上一级菜单\n"); printf("请输入税前or税后or返回编号:"); scanf("%d",&a); printf("=================================\n"); switch(a) { //依据税前工资计算 case 1: printf("请输入税前工资:"); scanf("%lf",&Pt); //输入税前工资 PEI=Pt*0.08; //计算个人应缴养老保险金额 CEI=Pt*0.19; //计算单位应缴养老保险金额 printf("个人应缴养老保险金额:%.2lf\n",PEI); //输出个人应缴养老保险金额 printf("单位应缴养老保险金额:%.2lf\n",CEI); //输出单位应缴养老保险金额 printf("应缴养老保险合计是:%.2lf\n",CEI+PEI); printf("=================================\n"); break; //依据税后工资计算 case 2: printf("请输入税后工资:"); scanf("%lf",&At); //不同的税后工资税率不同 if (0<=At&&At<=3500){T=((At-3500)*0-0)/(1-0);} else if (3500<At&&At<=4955){T=((At-3500)*0.03-0)/(1-0.03);} else if (4955<At&&At<=7655){T=((At-3500)*0.1-105)/(1-0.1);} else if (7555<At&&At<=11255){T=((At-3500)*0.2-555)/(1-0.2);} else if (11255<At&&At<=30755){T=((At-3500)*0.25-1005)/(1-0.25);} else if (30755<At&&At<=44755){T=((At-3500)*0.3-2755)/(1-0.3);} else if (44755<At&&At<=61005){T=((At-3500)*0.35-5505)/(1-0.35);} else if (61005<At){T=((At-3500)*0.45-13505)/(1-0.45);} Pt = (At + T + 3)/(0.778); //税后反推税前工资公式:税前工资=(税后工资+个人所得税+3)/0.778 PEI=Pt*0.08; //计算个人应缴养老保险金额 CEI=Pt*0.19; //计算单位应缴养老保险金额 printf("个人应缴养老保险金额:%.2lf\n",PEI); //输出个人应缴养老保险金额 printf("单位应缴养老保险金额:%.2lf\n",CEI); //输出单位应缴养老保险金额 printf("应缴养老保险合计是:%.2lf\n",CEI+PEI); printf("=================================\n"); break; //返回主菜单 case 0: b=0;break; default:printf("输入的编号有误\n""请重新输入\n");break; } } break; //医疗保险信息 case 2: printf("-------------*******------------\n"); printf("欢迎进入医疗保险页面\n"); printf("-------------*******------------\n"); b = 1; while(b) { //税前税后选择 printf("1:输入税前工资计算医疗保险\n""2:输入税后工资计算医疗保险\n""0:返回上一级菜单\n"); printf("请输入税前or税后or返回编号:"); scanf("%d",&a); printf("=================================\n"); switch(a) { //依据税前工资计算 case 1: printf("请输入税前工资:"); scanf("%lf",&Pt); //输入税前工资 PMI=Pt*0.02+3; //计算个人应缴医疗保险金额 CMI=Pt*0.1; //计算单位应缴医疗保险金额 printf("个人应缴医疗保险金额:%.2lf\n",PMI); //输出个人应缴医疗保险金额 printf("单位应缴医疗保险金额:%.2lf\n",CMI); //输出单位应缴医疗保险金额 printf("应缴医疗保险合计是:%.2lf\n",PMI+CMI); printf("=================================\n"); break; //依据税后工资计算 case 2: printf("请输入税后工资:"); scanf("%lf",&At); //不同的税后工资税率不同 if (0<=At&&At<=3500){T=((At-3500)*0-0)/(1-0);} else if (3500<At&&At<=4955){T=((At-3500)*0.03-0)/(1-0.03);} else if (4955<At&&At<=7655){T=((At-3500)*0.1-105)/(1-0.1);} else if (7555<At&&At<=11255){T=((At-3500)*0.2-555)/(1-0.2);} else if (11255<At&&At<=30755){T=((At-3500)*0.25-1005)/(1-0.25);} else if (30755<At&&At<=44755){T=((At-3500)*0.3-2755)/(1-0.3);} else if (44755<At&&At<=61005){T=((At-3500)*0.35-5505)/(1-0.35);} else if (61005<At){T=((At-3500)*0.45-13505)/(1-0.45);} Pt = (At + T + 3)/(0.778); //税后反推税前工资公式:税前工资=(税后工资+个人所得税+3)/0.778 PMI=Pt*0.02+3; //计算个人应缴医疗保险金额 CMI=Pt*0.1; //计算单位应缴医疗保险金额 printf("个人应缴医疗保险金额:%.2lf\n",PMI); //输出个人应缴医疗保险金额 printf("单位应缴医疗保险金额:%.2lf\n",CMI); //输出单位应缴医疗保险金额 printf("应缴医疗保险合计是:%.2lf\n",PMI+CMI); printf("=================================\n"); break; //返回主菜单 case 0: b=0;break; default:printf("输入的编号有误\n""请重新输入\n");break; } } break; //失业保险信息 case 3: printf("-------------*******------------\n"); printf("欢迎进入失业保险页面\n"); printf("-------------*******------------\n"); b = 1; while(b) { //税前税后选择 printf("1:输入税前工资计算失业保险\n""2:输入税后工资计算失业保险\n""0:返回上一级菜单\n"); printf("请输入税前or税后or返回编号:"); scanf("%d",&a); printf("=================================\n"); switch(a) { //依据税前工资计算 case 1: printf("请输入税前工资:"); scanf("%lf",&Pt); //输入税前工资 PUI=Pt*0.002; //计算个人应缴失业保险金额 CUI=Pt*0.008; //计算单位应缴失业保险金额 printf("个人应缴失业保险金额:%.2lf\n",PUI); //输出个人应缴失业保险金额 printf("单位应缴失业保险金额:%.2lf\n",CUI); //输出单位应缴失业保险金额 printf("应缴失业保险合计是:%.2lf\n",PUI+CUI); printf("=================================\n"); break; //依据税后工资计算 case 2: printf("请输入税后工资:"); scanf("%lf",&At); //不同的税后工资税率不同 if (0<=At&&At<=3500){T=((At-3500)*0-0)/(1-0);} else if (3500<At&&At<=4955){T=((At-3500)*0.03-0)/(1-0.03);} else if (4955<At&&At<=7655){T=((At-3500)*0.1-105)/(1-0.1);} else if (7555<At&&At<=11255){T=((At-3500)*0.2-555)/(1-0.2);} else if (11255<At&&At<=30755){T=((At-3500)*0.25-1005)/(1-0.25);} else if (30755<At&&At<=44755){T=((At-3500)*0.3-2755)/(1-0.3);} else if (44755<At&&At<=61005){T=((At-3500)*0.35-5505)/(1-0.35);} else if (61005<At){T=((At-3500)*0.45-13505)/(1-0.45);} Pt = (At + T + 3)/(0.778); //税后反推税前工资公式:税前工资=(税后工资+个人所得税+3)/0.778 PUI=Pt*0.002; //计算个人应缴失业保险金额 CUI=Pt*0.008; //计算单位应缴失业保险金额 printf("个人应缴失业保险金额:%.2lf\n",PUI); //输出个人应缴失业保险金额 printf("单位应缴失业保险金额:%.2lf\n",CUI); //输出单位应缴失业保险金额 printf("应缴失业保险合计是:%.2lf\n",PUI+CUI); printf("=================================\n"); break; //返回主菜单 case 0: b=0;break; default:printf("输入的编号有误\n""请重新输入\n");break; } } break; //工伤保险信息 case 4: printf("-------------*******------------\n"); printf("欢迎进入工伤保险页面\n"); printf("-------------*******------------\n"); b = 1; while(b) { //税前税后选择 printf("1:输入税前工资计算工伤保险\n""2:输入税后工资计算工伤保险\n""0:返回上一级菜单\n"); printf("请输入税前or税后or返回编号:"); scanf("%d",&a); printf("=================================\n"); switch(a) { //依据税前工资计算 case 1: printf("请输入税前工资:"); scanf("%lf",&Pt); //输入税前工资 PEII=0; //个人应缴工伤保险为零 CEII=Pt*0.005; //计算单位应缴失业保险金额 printf("个人应缴工伤保险金额:%.2lf\n",PEII); //输出个人应缴工伤保险金额 printf("单位应缴工伤保险金额:%.2lf\n",CEII); //输出单位应缴工伤保险金额 printf("应缴工伤保险合计是:%.2lf\n",PEII+CEII); printf("=================================\n"); break; //依据税后工资计算 case 2: printf("请输入税后工资:"); scanf("%lf",&At); //不同的税后工资税率不同 if (0<=At&&At<=3500){T=((At-3500)*0-0)/(1-0);} else if (3500<At&&At<=4955){T=((At-3500)*0.03-0)/(1-0.03);} else if (4955<At&&At<=7655){T=((At-3500)*0.1-105)/(1-0.1);} else if (7555<At&&At<=11255){T=((At-3500)*0.2-555)/(1-0.2);} else if (11255<At&&At<=30755){T=((At-3500)*0.25-1005)/(1-0.25);} else if (30755<At&&At<=44755){T=((At-3500)*0.3-2755)/(1-0.3);} else if (44755<At&&At<=61005){T=((At-3500)*0.35-5505)/(1-0.35);} else if (61005<At){T=((At-3500)*0.45-13505)/(1-0.45);} Pt = (At + T + 3)/(0.778); //税后反推税前工资公式:税前工资=(税后工资+个人所得税+3)/0.778 PEII=0; //个人应缴工伤保险为零 CEII=Pt*0.005; //计算单位应缴失业保险金额 printf("个人应缴工伤保险金额:%.2lf\n",PEII); //输出个人应缴工伤保险金额 printf("单位应缴工伤保险金额:%.2lf\n",CEII); //输出单位应缴工伤保险金额 printf("应缴工伤保险合计是:%.2lf\n",PEII+CEII); printf("=================================\n"); break; //返回主菜单 case 0: b=0;break; default:printf("输入的编号有误\n""请重新输入\n");break; } } break; //生育保险信息 case 5: printf("-------------*******------------\n"); printf("欢迎进入生育保险页面\n"); printf("-------------*******------------\n"); b = 1; while(b) { //税前税后选择 printf("1:输入税前工资计算生育保险\n""2:输入税后工资计算生育保险\n""0:返回上一级菜单\n"); printf("请输入税前or税后or返回编号:"); scanf("%d",&a); printf("=================================\n"); switch(a) { //依据税前工资计算 case 1: printf("请输入税前工资:"); scanf("%lf",&Pt); //输入税前工资 PMTI=0; //个人应缴生育保险为零 CMTI=Pt*0.008; //计算单位应缴生育保险金额 printf("个人应缴生育保险金额:%.2lf\n",PMTI); //输出个人应缴生育保险金额 printf("单位应缴生育保险金额:%.2lf\n",CMTI); //输出单位应缴生育保险金额 printf("应缴生育保险合计是:%.2lf\n",PMTI+CMTI); printf("=================================\n"); break; //依据税后工资计算 case 2: printf("请输入税后工资:"); scanf("%lf",&At); //不同的税后工资税率不同 if (0<=At&&At<=3500){T=((At-3500)*0-0)/(1-0);} else if (3500<At&&At<=4955){T=((At-3500)*0.03-0)/(1-0.03);} else if (4955<At&&At<=7655){T=((At-3500)*0.1-105)/(1-0.1);} else if (7555<At&&At<=11255){T=((At-3500)*0.2-555)/(1-0.2);} else if (11255<At&&At<=30755){T=((At-3500)*0.25-1005)/(1-0.25);} else if (30755<At&&At<=44755){T=((At-3500)*0.3-2755)/(1-0.3);} else if (44755<At&&At<=61005){T=((At-3500)*0.35-5505)/(1-0.35);} else if (61005<At){T=((At-3500)*0.45-13505)/(1-0.45);} Pt = (At + T + 3)/(0.778); //税后反推税前工资公式:税前工资=(税后工资+个人所得税+3)/0.778 PMTI=0; //个人应缴生育保险为零 CMTI=Pt*0.008; //计算单位应缴生育保险金额 printf("个人应缴生育保险金额:%.2lf\n",PMTI); //输出个人应缴生育保险金额 printf("单位应缴生育保险金额:%.2lf\n",CMTI); //输出单位应缴生育保险金额 printf("应缴生育保险合计是:%.2lf\n",PMTI+CMTI); printf("=================================\n"); break; //返回主菜单 case 0: b=0;break; default:printf("输入的编号有误\n""请重新输入\n");break; } } break; //住房公积金信息 case 6: printf("-------------*******------------\n"); printf("欢迎进入住房公积金页面\n"); printf("-------------*******------------\n"); b = 1; while(b) { //税前税后选择 printf("1:输入税前工资计算住房公积金\n""2:输入税后工资计算住房公积金\n""0:回上一级菜单\n"); printf("请输入税前or税后or返回编号:"); scanf("%d",&a); printf("=================================\n"); switch(a) { //依据税前工资计算 case 1: printf("请输入税前工资:"); scanf("%lf",&Pt); //输入税前工资 PHF=Pt*12/100; //计算个人应缴住房公积金金额 CHF=Pt*12/100; //计算单位应缴住房公积金金额 printf("个人应缴住房公积金金额:%.2lf\n",PHF); //输出个人应缴住房公积金金额 printf("个人应缴住房公积金金额:%.2lf\n",CHF); //输出单位应缴住房公积金金额 printf("应缴住房公积金合计是:%.2lf\n",PHF+CHF); printf("=================================\n"); break; //依据税后工资计算 case 2: printf("请输入税后工资:"); scanf("%lf",&At); //不同的税后工资税率不同 if (0<=At&&At<=3500){T=((At-3500)*0-0)/(1-0);} else if (3500<At&&At<=4955){T=((At-3500)*0.03-0)/(1-0.03);} else if (4955<At&&At<=7655){T=((At-3500)*0.1-105)/(1-0.1);} else if (7555<At&&At<=11255){T=((At-3500)*0.2-555)/(1-0.2);} else if (11255<At&&At<=30755){T=((At-3500)*0.25-1005)/(1-0.25);} else if (30755<At&&At<=44755){T=((At-3500)*0.3-2755)/(1-0.3);} else if (44755<At&&At<=61005){T=((At-3500)*0.35-5505)/(1-0.35);} else if (61005<At){T=((At-3500)*0.45-13505)/(1-0.45);} Pt = (At + T + 3)/(0.778); //税后反推税前工资公式:税前工资=(税后工资+个人所得税+3)/0.778 PHF=Pt*12/100; //计算个人应缴住房公积金金额 CHF=Pt*12/100; //计算单位应缴住房公积金金额 printf("个人应缴住房公积金金额:%.2lf\n",PHF); //输出个人应缴住房公积金金额 printf("单位应缴住房公积金金额:%.2lf\n",CHF); //输出单位应缴住房公积金金额 printf("应缴住房公积金合计是:%.2lf\n",PHF+CHF); printf("=================================\n"); break; //返回主菜单 case 0: b=0;break; default:printf("输入的编号有误\n""请重新输入\n");break; } } break; //工资计算器 case 7: printf("-------------*******------------\n"); printf("欢迎进入工资计算器页面\n"); printf("-------------*******------------\n"); b = 1; while(b) { //税前税后选择 printf("1:输入税前工资计算税后工资\n""2:输入税后工资计算税前工资\n""0:回上一级菜单\n"); printf("请输入税前or税后or返回编号:"); scanf("%d",&a); printf("=================================\n"); switch(a) { //依据税前工资计算税后工资 case 1: printf("请输入税前工资:"); scanf("%lf",&Pt); SH = (Pt*0.222)+3; //计算个人应缴社保住房公积金总额公式:(税前工资*0.222)+3 printf("个人应缴社保公积金总额:%.2lf\n",SH); Qt = Pt-SH-Tt; //计算个人全月应纳税所得额公式:(税前工资-个人应缴社保和住房公积金-起征点) //计算应缴个人所得税公式:(个人全月应纳税所得额*税率-速算扣除数) //不同的税前工资税率不同 if (Qt<=0){T=0;} else if (0<Qt&&Qt<=1500){T=Qt*0.03-0;} else if (1500<Qt&&Qt<=4500){T=Qt*0.1-105;} else if (4500<Qt&&Qt<=9000){T=Qt*0.2-555;} else if (9000<Qt&&Qt<=35000){T=Qt*0.25-1005;} else if (35000<Qt&&Qt<=55000){T=Qt*0.3-2755;} else if (55000<Qt&&Qt<=80000){T=Qt*0.35-5505;} else if (Qt>80000){T=Qt*0.45-13505;} printf("应缴个人所得税是:%.2lf\n",T); //输出个人所得税 At = Pt-SH-T; //税后工资计算公式:税前工资-个人应缴社保公积金-个人所得税 printf("税后工资为%.2lf\n",At); //输出税后工资 printf("=================================\n"); break; //依据税后工资计算税前工资 case 2: printf("请输入税后工资:"); scanf("%lf",&At); //不同的税后工资税率不同 if (0<=At&&At<=3500){T=((At-3500)*0-0)/(1-0);} else if (3500<At&&At<=4955){T=((At-3500)*0.03-0)/(1-0.03);} else if (4955<At&&At<=7655){T=((At-3500)*0.1-105)/(1-0.1);} else if (7555<At&&At<=11255){T=((At-3500)*0.2-555)/(1-0.2);} else if (11255<At&&At<=30755){T=((At-3500)*0.25-1005)/(1-0.25);} else if (30755<At&&At<=44755){T=((At-3500)*0.3-2755)/(1-0.3);} else if (44755<At&&At<=61005){T=((At-3500)*0.35-5505)/(1-0.35);} else if (61005<At){T=((At-3500)*0.45-13505)/(1-0.45);} printf("应缴个人所得税是:%.2lf\n",T); //输出个人所得税 Pt = (At + T + 3)/(0.778); //税后反推税前工资公式:税前工资=(税后工资+个人所得税+3)/0.778 printf("税前工资为%.2lf\n",Pt); printf("=================================\n"); break; //返回主菜单 case 0: b=0;break; default:printf("输入的编号有误\n""请重新输入\n");break; } } break; //个人应缴款明细 case 8: printf("-------------*******------------\n"); printf("欢迎进入个人应缴款明细页面\n"); printf("-------------*******------------\n"); b = 1; while(b) { //税前税后选择 printf("1:输入税前工资计算明细\n""2:输入税后工资计算明细\n""0:回上一级菜单\n"); printf("请输入税前or税后or返回编号:"); scanf("%d",&a); printf("=================================\n"); switch(a) { //依据税前工资计算 case 1: printf("请输入税前工资:"); scanf("%lf",&Pt); //输入税前工资 printf("个人应缴养老保险金额:税前收入*0.08= %.2lf\n",Pt*0.08); //输出个人应缴养老保险金额 printf("个人应缴医疗保险金额:税前收入*0.02+3= %.2lf\n",Pt*0.02+3); //输出个人应缴医疗保险金额 printf("个人应缴失业保险金额:税前收入*0.002= %.2lf\n",Pt*0.002); //输出个人应缴失业保险金额 printf("个人应缴工伤保险金额:0\n"); //输出个人应缴工伤保险金额 printf("个人应缴生育保险金额:0\n"); //输出个人应缴生育保险金额 printf("个人应缴住房公积金金额:税前收入*0.12= %.2lf\n",Pt*0.12); //输出个人应缴住房公积金金额 SH = (Pt*0.222)+3; //计算个人应缴社保公积金算式 Qt = Pt-SH-Tt; //计算全月应纳税所得额 //不同的税前工资税率不同 if (Qt<=0){T=0;} else if (0<Qt&&Qt<=1500){T=Qt*0.03-0;} else if (1500<Qt&&Qt<=4500){T=Qt*0.1-105;} else if (4500<Qt&&Qt<=9000){T=Qt*0.2-555;} else if (9000<Qt&&Qt<=35000){T=Qt*0.25-1005;} else if (35000<Qt&&Qt<=55000){T=Qt*0.3-2755;} else if (55000<Qt&&Qt<=80000){T=Qt*0.35-5505;} else if (Qt>80000){T=Qt*0.45-13505;} printf("应缴个人所得税是:%.2lf\n",T); //输出个人所得税 printf("个人应缴款合计:%.2lf\n",SH+T); printf("=================================\n"); break; //依据税后工资计算 case 2: printf("请输入税后工资:"); scanf("%lf",&At); //输入税后工资 //不同的税后工资税率不同 if (0<=At&&At<=3500){T=((At-3500)*0-0)/(1-0);} else if (3500<At&&At<=4955){T=((At-3500)*0.03-0)/(1-0.03);} else if (4955<At&&At<=7655){T=((At-3500)*0.1-105)/(1-0.1);} else if (7555<At&&At<=11255){T=((At-3500)*0.2-555)/(1-0.2);} else if (11255<At&&At<=30755){T=((At-3500)*0.25-1005)/(1-0.25);} else if (30755<At&&At<=44755){T=((At-3500)*0.3-2755)/(1-0.3);} else if (44755<At&&At<=61005){T=((At-3500)*0.35-5505)/(1-0.35);} else if (61005<At){T=((At-3500)*0.45-13505)/(1-0.45);} Pt = (At + T + 3)/(0.778); //税后反推税前工资公式:税前工资=(税后工资+个人所得税+3)/0.778 SH = (Pt*0.222)+3; //计算个人应缴社保公积金算式 printf("个人应缴养老保险金额:税前收入*0.08= %.2lf\n",Pt*0.08); //输出个人应缴养老保险金额 printf("个人应缴医疗保险金额:税前收入*0.02+3= %.2lf\n",Pt*0.02+3); //输出个人应缴医疗保险金额 printf("个人应缴失业保险金额:税前收入*0.002= %.2lf\n",Pt*0.002); //输出个人应缴失业保险金额 printf("个人应缴工伤保险金额:0\n"); //输出个人应缴工伤保险金额 printf("个人应缴生育保险金额:0\n"); //输出个人应缴生育保险金额 printf("个人应缴住房公积金金额:税前收入*0.12= %.2lf\n",Pt*0.12); //输出个人应缴住房公积金金额 printf("应缴个人所得税是:%.2lf\n",T); //输出个人所得税 printf("个人应缴款合计:%.2lf\n",SH+T); printf("=================================\n"); break; //返回主菜单 case 0: b=0;break; default:printf("输入的编号有误\n""请重新输入\n");break; } } break; //单位应缴款明细 case 9: printf("-------------*******------------\n"); printf("欢迎进入单位应缴款明细页面\n"); printf("-------------*******------------\n"); b = 1; while(b) { //税前税后选择 printf("1:输入税前工资计算明细\n""2:输入税后工资计算明细\n""0:回上一级菜单\n"); printf("请输入税前or税后or返回编号:"); scanf("%d",&a); printf("=================================\n"); switch(a) { //依据税前工资计算 case 1: printf("请输入税前工资:"); scanf("%lf",&Pt); //输入税前工资 printf("单位应缴养老保险金额:税前收入*0.19= %.2lf\n",Pt*0.19); //输出单位应缴养老保险金额 printf("单位应缴医疗保险金额:税前收入*0.1=%.2lf\n",Pt*0.1); //输出单位应缴医疗保险金额 printf("单位应缴失业保险金额:税前收入*0.008=%.2lf\n",Pt*0.008); //输出单位应缴失业保险金额 printf("单位应缴工伤保险金额:税前收入*0.005=%.2lf\n",Pt*0.005); //输出单位应缴工伤保险金额 printf("单位应缴生育保险金额:税前收入*0.008=%.2lf\n",Pt*0.008); //输出单位应缴生育保险金额 printf("单位应缴住房公积金金额:税前收入*0.12=%.2lf\n",Pt*0.12); //输出单位应缴住房公积金金额 printf("单位应缴款合计:%.2lf\n",Pt*0.431); printf("=================================\n"); break; //依据税后工资计算 case 2: printf("请输入税后工资:"); scanf("%lf",&At); //输入税后工资 //不同的税后工资税率不同 if (0<=At&&At<=3500){T=((At-3500)*0-0)/(1-0);} else if (3500<At&&At<=4955){T=((At-3500)*0.03-0)/(1-0.03);} else if (4955<At&&At<=7655){T=((At-3500)*0.1-105)/(1-0.1);} else if (7555<At&&At<=11255){T=((At-3500)*0.2-555)/(1-0.2);} else if (11255<At&&At<=30755){T=((At-3500)*0.25-1005)/(1-0.25);} else if (30755<At&&At<=44755){T=((At-3500)*0.3-2755)/(1-0.3);} else if (44755<At&&At<=61005){T=((At-3500)*0.35-5505)/(1-0.35);} else if (61005<At){T=((At-3500)*0.45-13505)/(1-0.45);} Pt = (At + T + 3)/(0.778); //税后反推税前工资公式:税前工资=(税后工资+个人所得税+3)/0.778 printf("单位应缴养老保险金额:税前收入*0.19= %.2lf\n",Pt*0.19); //输出单位应缴养老保险金额 printf("单位应缴医疗保险金额:税前收入*0.1=%.2lf\n",Pt*0.1); //输出单位应缴医疗保险金额 printf("单位应缴失业保险金额:税前收入*0.008=%.2lf\n",Pt*0.008); //输出单位应缴失业保险金额 printf("单位应缴工伤保险金额:税前收入*0.005=%.2lf\n",Pt*0.005); //输出单位应缴工伤保险金额 printf("单位应缴生育保险金额:税前收入*0.008=%.2lf\n",Pt*0.008); //输出单位应缴生育保险金额 printf("单位应缴住房公积金金额:税前收入*0.12=%.2lf\n",Pt*0.12); //输出单位应缴住房公积金金额 printf("单位应缴款合计:%.2lf\n",Pt*0.431); printf("=================================\n"); break; //退出当前循环 case 0: b=0;break; default:printf("输入的编号有误\n""请重新输入\n");break; } } break; //退出系统 case 0: printf("退出当前系统:是,否\n"); scanf("%s",&choos); if (strcmp(choos,"是")==0) { exit(0); } else if (strcmp(choos,"否")==0) continue; break; default: printf("输入的功能编号有误\n""请重新输入\n");break; } } }
四:运行结果:
第一步:输入7选择工资计算器
第二步:输入1选择依据税前工资算税后工资,然后输入12000算结果
再输入2选择依据税后工资计算税前工资,输入8721.4算结果
可以看出两次结果对应
第三步:输入0返回上一菜单,然后再输入0,选择是否退出系统,输入:是,退出
标签:printf har bre pmt ble 分享图片 流程图 没有 ***
原文地址:https://www.cnblogs.com/thoughtful-actors/p/9472591.html