码迷,mamicode.com
首页 > 编程语言 > 详细

C语言-社保工资查询系统

时间:2018-08-14 11:19:32      阅读:257      评论:0      收藏:0      [点我收藏+]

标签: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,选择是否退出系统,输入:是,退出
技术分享图片

 

C语言-社保工资查询系统

标签:printf   har   bre   pmt   ble   分享图片   流程图   没有   ***   

原文地址:https://www.cnblogs.com/thoughtful-actors/p/9472591.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!