用c语言完成工资管理系统(期末课程设计)

#include<stdio.h>
#define N 30          
 struct employ     
{    char name[20];
    char job[20];
    int month;
    int money;
    int num;
    int jiangjin;
    int koukuan;
    int butie;
}l[N];
int j=0;
int luru(int o);
int chazhao(int j);
int xiugai(int j);
int liulan(int j);
int shanchu(int j);
int jisuan(int j);
int mingxi(int j);
/********************************主界面********************************/ 
int show()
{
    printf("\n");
    printf("***************工资管理系统主界面***************\n");
    printf("|              1.职工信息录入                  |\n");
    printf("|              2.职工信息查找                  |\n");
    printf("|              3.职工信息修改                  |\n");
    printf("|              4.职工信息浏览                  |\n");
    printf("|              5.职工信息删除                  |\n");
    printf("|              6.按照工资计算                  |\n");
    printf("|              7.职工工资明细                  |\n");
    printf("|              8.退出系统                      |\n");
    printf("************************************************\n");
   
}
int main()
{    int i,a,o,n,m;
    show();//进入主界面 
    while(1)
    {
    printf("您需要进行第几步?");
    scanf("%d", &a);
    switch (a)
    {
    case 1:
    printf("请输入录入人数"); 
    scanf("%d",&o);//职工信息录入 
    luru(o);
        break;
    case 2:
        //职工信息查找 
    chazhao(j);
        break;
    case 3:
        //职工信息修改
    xiugai(j);
        break;
    case 4://信息浏览 
        liulan(j);
        break;
    case 5://信息删除 
        shanchu(j);
        break;
    case 6:
        jisuan(j);
        break;
    case 7:
        mingxi(j);
        break;
    case 8:
        printf("谢谢使用"); 
        return 0;
        break;
    default:
        printf("输入数字不正确,请重新输入:");
        break;
    }
    }
}
int luru(int k)
{
    printf("|---------------------录入板块-------------------------|\n");
    int b;
    int static i=1;
    int static c=0;
    j=j+k;
    printf("第%d次录入\n",i);  
    printf("已经录入%d人\n",j);
    for(b=0;b<k;b++,c++)
    {   printf("请输入 姓名,职务,月份,工资,补贴,奖金,扣款,工号\n");
        scanf("%s",l[c].name);
        scanf("%s",l[c].job);
        scanf("%d",&l[c].month); 
        scanf("%d",&l[c].money);
        scanf("%d",&l[c].butie);
        scanf("%d",&l[c].jiangjin);
        scanf("%d",&l[c].koukuan);
         scanf("%d",&l[c].num);
    }i++; 
    printf("|-----------------------------------------------------|\n");
  return j;
}
int chazhao(int j)
{  int m,a;
    printf("|---------------------查找板块-------------------------|\n");
    printf("请输入想查找的工号"); 
    scanf("%d",&m);
    for(a=0;a<N;a++) 
    {
        if(m==l[a].num)
        {
            printf("姓名=%s",l[a].name);
            printf("职务=%s",l[a].job);
            printf("月份=%d",l[a].month);
            printf("工资=%d",l[a].money);
            printf("工号=%d",l[a].num);
        }
        }
        if(m!=l[a].num)
    printf("查无此人\n");
    printf("|-----------------------------------------------------|\n");
    return 0; 
}
int xiugai(int j)
{  int a,b,c,d;
printf("|---------------------修改板块-------------------------|\n");
printf("输入您想修改的工人工号:\n");
    scanf("%d",&a);
    for(b=0;b<j;b++)
        {
            if(a!=l[b].num)
       printf("没有找到此人\n");
           else
            {
            printf("修改次数:");
            scanf("%d",&c);
            for(b=0;b<c;b++)
            {            
    printf("1.进行修改姓名");
            printf("2.进行修改职务");
                printf("3.进行修改月份");
                    printf("4.进行修改工资");
                            printf("5.进行修改工号");
                                printf("您需要修改的是=\n");
    scanf("%d", &d);
    switch (d)
    {
        case 1:
        printf("进行修改姓名");
        printf("需要修改的姓名为=\n");
        scanf("%s",&l[b].name);
        break;
        case 2:
        printf("进行修改职务");
        printf("修改的职务=\n"); 
        scanf("%s",&l[b].job);
        break;
        case 3:
        printf("进行修改月份");
        printf("修改的月份=\n");
        scanf("%d",&l[b].month);
        break;
        case 4:
        printf("进行修改工资");
        printf("修改的工资=\n");
        scanf("%d",&l[b].money);
        break;
        case 5:
        printf("进行修改工号");
        printf("修改的工号=\n");
        scanf("%d",&l[b].num);
        break;         
    }
            }
            }
       }
       printf("|-----------------------------------------------------|\n");
}
int liulan (int w)
{
    int a;
    for(a=0;a<w;a++)
{
    printf("姓名=%s",l[a].name);
    printf("职务=%s",l[a].job);
    printf("月份=%d",l[a].month);
    printf("工资=%d",l[a].money);
    printf("工号=%d\n",l[a].num);
        }
        return 0;
}
int shanchu(int j)
{   int a,b;
    printf("输入你想删除工人的工号是多少"); 
    scanf("%d",&a);
    for(b=0;b<j;b++)
    {
        if(a==l[b].num)
        {
        for(b;b<N;b++)
        {
            l[b]=l[b+1];
        }}
        else
        printf("没有这个人");
    }return 0;
}
int jisuan(int j)
{   int a,b,sum=0;
 printf("|---------------------计算板块-------------------------|\n");
    printf("输入您想计算工资的某位工人的工号:"); 
    scanf("%d",&a);
    for(b=0;b<j;b++)
    {
    if(a==l[b].num)
    {
        sum+=l[b].jiangjin+l[b].butie+l[b].money-l[b].koukuan;
    }
    }
    printf("该工人的总工资为:"); 
    printf("%d\n",sum);
    printf("|-----------------------------------------------------|\n");
    return 0;
}
int mingxi(int j)
{    int a,b;
    printf("|---------------------明细板块-------------------------|\n");
    printf("输入你想查找工人的工号:");
    scanf("%d",&b);
    for(a=0;a<N;a++)
     {
     if(b==l[a].num)
  {
    for(a=0;a<j;a++)
    {
        printf("姓名=%s",l[a].name); 
        printf("补贴=%d ",l[a].butie);
        printf("奖金=%d ",l[a].jiangjin);
        printf("扣款=%d ",l[a].koukuan);
}    
}
}
printf("|-----------------------------------------------------|\n");
return 0;
}
 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值