工资管理系统C语言代码.docx

上传人:b****8 文档编号:9991092 上传时间:2023-02-07 格式:DOCX 页数:19 大小:17.78KB
下载 相关 举报
工资管理系统C语言代码.docx_第1页
第1页 / 共19页
工资管理系统C语言代码.docx_第2页
第2页 / 共19页
工资管理系统C语言代码.docx_第3页
第3页 / 共19页
工资管理系统C语言代码.docx_第4页
第4页 / 共19页
工资管理系统C语言代码.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

工资管理系统C语言代码.docx

《工资管理系统C语言代码.docx》由会员分享,可在线阅读,更多相关《工资管理系统C语言代码.docx(19页珍藏版)》请在冰豆网上搜索。

工资管理系统C语言代码.docx

工资管理系统C语言代码

题目要求做一个工资管理系统,要能按照姓名和卡号查找员工的工资信息,以及员工工资信息的插入,删除。

同时这些信息要存储在TXT文件中…还要可以按照一定顺序输出所有员工工资的信息

#include

#include

#defineN100

structmygz

{

 intyuefen;

 floatyfgz;

 floatsf;

 floatdf;

 floatsj;

 floatsfgz;

};

structworker

{

 intkahao;

 charxingming[20];

 structmygzm[12];

 floatzsfgz;

};

intygsm;

structworkera[N];

floatshuijin(floatm)

{

floatshui1,shui2;

floattmp;

shui1=0;shui2=0;

if(m>=1400)

{

 shui1=(m-1400)*0.1;

 shui2=30;

}

else

 if(m>=800&&m<1400)

 {

   shui2=(m-800)*0.05;

 }

}

tmp=shui1+shui2;

return(tmp);

}floatshifagongzi(floata,floatb,floatc,floatd)

{

 floate=a-b-c-d;

 return(e);

}

voidduqu()

{

 FILE*fp;

 if((fp=fopen("D:

工资信息.txt","r"))==NULL)

 {

   printf("无法读取文件");

   ;return;

 }

 while(!

feof(fp))

 {

   fread(&a[ygsm],sizeof(structworker),1,fp);

   ygsm++;

 }

}

voidchaxun()

{

 intb;

 inti;

 intj;

 label_3:

 b=0;

 while(b!

=1&&b!

=2)

 {

   printf("1,选择姓名查询.\n2,选择卡号查询.\n");

   scanf("%d",&b);

 }

 if(b==1)

 {

   charc[20];

   printf("请输入您的姓名:

\n");

   scanf("%s",c);

   i=0;

   while(!

(strcmp(a[i].xingming,c)==0)&&i

   {

     i++;

   }

   if(i==ygsm)

   {

     printf("您查找的名字不存在,请正确输入您的名字或用卡号查询\n");

     return; 

   }

   printf("%-10d%-20s\n",a[i].kahao,a[i].xingming);

   for(j=0;a[i].m[j].yuefen!

=NULL;j++)

   {

     printf("月份:

%5d,应发工资:

%10.2f,水费:

%7.2f,电费:

%7.2f,税金:

%7.2f,实发工资:

%10.2f.\n",a[i].m[j].yuefen,a[i].m[j].yfgz,a[i].m[j].sf,a[i].m[j].df,a[i].m[j].sj,a[i].m[j].sfgz);

   }

   printf("总实发工资:

%10f\n",a[i].zsfgz);   

   b=0;

   while(b!

=1&&b!

=2)

   {

     printf("1,继续查询.\n2,返回主菜单.\n");

     scanf("%d",&b);

   }

   if(b==1)

   {

     gotolabel_3;

   }

   else

   {

     ;return;

   }

 } 

 else

 {

   intd=0;

   while(!

(d>=10001&&d<=32767))

   {

     printf("请输入您的卡号(五位数字),例如:

10001\n");

     scanf("%d",&d);

   }

   i=0;

   while(a[i].kahao!

=d&&i

   {

     i++;

   }

   if(i==ygsm)

   {

     printf("您查找的名字不存在,请正确输入您的名字或用卡号查询\n");

     return; 

   }

   printf("%-10d%-20s\n",d,a[i].xingming);

   for(j=0;a[i].m[j].yuefen!

=NULL;j++)

   {

     printf("月份:

%5d,应发工资:

%10.2f,水费:

%7.2f,电费:

%7.2f,税金:

%7.2f,实发工资:

%10.2f.\n",a[i].m[j].yuefen,a[i].m[j].yfgz,a[i].m[j].sf,a[i].m[j].df,a[i].m[j].sj,a[i].m[j].sfgz);

   }

   printf("总实发工资:

%10f\n",a[i].zsfgz);

   b=0;

   while(b!

=1&&b!

=2)

   {

     printf("1,继续查询.\n2,返回主菜单.\n");

     scanf("%d",&b);

   }

   if(b==1)

   {

     gotolabel_3;

   }

   else

   {

     ;return;

   }   

 }

}

voidliulan()

{

 structworkerx;

 intc;

 floatd;

 inti;

 intj;

 intk;

 for(i=0;i

 {

   c=a[i].kahao;

   k=i;

   for(j=i+1;j

   {

     if(c>a[j].kahao)

     {

      c=a[j].kahao;

      k=j;

     }

   }

   x=a[i];

   a[i]=a[k];

   a[k]=x;

 }

 for(i=0;i

 {

   printf("%-10d%-20s\n",a[i].kahao,a[i].xingming);

   for(j=0;a[i].m[j].yuefen!

=NULL;j++)

   {

     printf("月份:

%5d,应发工资:

%10.2f,水费:

%7.2f,电费:

%7.2f,税金:

%7.2f,实发工资:

%10.2f.\n",a[i].m[j].yuefen,a[i].m[j].yfgz,a[i].m[j].sf,a[i].m[j].df,a[i].m[j].sj,a[i].m[j].sfgz);

   }

   printf("总实发工资:

%10f\n",a[i].zsfgz);

 }

 for(i=0;i<40;i++)

 {

   printf("\n");

 }

 for(i=0;i

 {

   d=a[i].zsfgz;

   k=i;

   for(j=i+1;j

   {

     if(d

     {

      d=a[j].zsfgz;

      k=j;

     }

   }

   x=a[i];

   a[i]=a[k];

   a[k]=x;

 }

 for(i=0;i

 {

   printf("%-20s%-10d\n",a[i].xingming,a[i].kahao);

   for(j=0;a[i].m[j].yuefen!

=NULL;j++)

   {

     printf("月份:

%5d,应发工资:

%10.2f,水费:

%7.2f,电费:

%7.2f,税金:

%7.2f,实发工资:

%10.2f.\n",a[i].m[j].yuefen,a[i].m[j].yfgz,a[i].m[j].sf,a[i].m[j].df,a[i].m[j].sj,a[i].m[j].sfgz);

   }

   printf("总实发工资:

%10f\n",a[i].zsfgz);

 }

}

voidshanchu()

{

 FILE*fp;

 intb;

 intc;

 inti;

 intj;

 label_4:

 printf("请输入要删除信息的卡号:

\n");

 scanf("%d",&b);

 for(i=0;i

 {

   if(a[i].kahao==b)

   {

     j=i;

   }

 }

 for(i=j+1;i

 {

   a[i-1]=a[i];

 }

 ygsm--;

 fp=fopen("D:

工资信息.txt","w");

 for(i=0;i

 {

   fwrite(&a[i],sizeof(structworker),1,fp); 

 }

 fclose(fp);

 c=0;

 while(c!

=1&&c!

=2)

 { 

   printf("1.继续删除\n2返回主菜单\n");

   scanf("%d",&c);

 }

 if(c==1)

 {

   gotolabel_4;

 }

 else

 {

   return;

 }

}

voidluru()

{

 FILE*fp;

 intk;

 inti;

 intj;

 intb;

 intc;

 intd;

 if((fp=fopen("D:

工资信息.txt","w"))==NULL)

 {

   printf("无法找到目标文件\n");

   return;

 }

 label_1:

 b=0;

 while(!

(b>=1&&b<=12))

 {

   printf("请您输入您要建立的月份\n");

   scanf("%d",&b);

 }

 b=b-1;

 d=0;

 while(!

(d>=10001&&d<=32767))

 {

   printf("请输入您要录入工资的卡号(五位数字),例如:

10001\n");

   scanf("%d",&d);

 }

 for(i=0;i

=d;i++);

 if(a[i].kahao!

=d)

 {

   c=0;

   while(c!

=1&&c!

=2)

   { 

     printf("没有该卡号记录.\n1新建\n2返回上一级\n");

     scanf("%d",&c);

   }

   if(c==2)

   {

     gotolabel_1;

   }

   if(c==1)

   {

     a[i].kahao=d;

     printf("请输入姓名:

\n");

     scanf("%s",a[i].xingming);

     a[i].m[b].yuefen=b+1;

     printf("请输入此人该月的应发工资:

\n");

     scanf("%f",&a[i].m[b].yfgz);

     printf("请输入此人该月所用水费:

\n");

     scanf("%f",&a[i].m[b].sf);

     printf("请输入此人该月所用电费\n");

     scanf("%f",&a[i].m[b].df);

     a[i].m[b].sj=shuijin(a[i].m[b].yfgz);

     a[i].m[b].sfgz=shifagongzi(a[i].m[b].yfgz,a[i].m[b].sf,a[i].m[b].df,a[i].m[b].sj);

     a[i].zsfgz=0;

     for(k=0;k<12;k++)

     {

       a[i].zsfgz+=a[i].m[k].sfgz;

     }

     ygsm++;

     c=0;

     while(c!

=1&&c!

=2)

     {

       printf("1继续\n2返回主菜单\n");

       scanf("%d",&c);

     }

     if(c==1)

     {

       gotolabel_1;

     }

     if(c==2)

     {

       gotolabel_2;

     }

   }

 }

 else

 {

   if(a[i].m[b].yuefen==b+1)

   {

     c=0;

     while(c!

=1&&c!

=2)

     {

       printf("已有该月记录\n1覆盖原有记录\n2返回上级\n");

       scanf("%d",&c);

     }

     if(c==1)

     {

       printf("请输入此人该月的应发工资:

\n");

       scanf("%d",&a[i].m[b].yfgz);

       printf("请输入此人该月所用水费:

\n");

       scanf("%d",&a[i].m[b].sf);

       printf("请输入此人该月所用电费\n");

       scanf("%d",&a[i].m[b].df);

       a[i].m[b].sj=shuijin(a[i].m[b].yfgz);

       a[i].m[b].sfgz=shifagongzi(a[i].m[b].yfgz,a[i].m[b].sf,a[i].m[b].df,a[i].m[b].sj);

       a[i].zsfgz=0;

       for(k=0;k<12;k++)

       {

         a[i].zsfgz+=a[i].m[k].sfgz;

       }

       while(c!

=1&&c!

=2)

       {

         printf("1继续\n2返回主菜单\n");

         scanf("%d",&c);

       }

       if(c==1)

       {

         gotolabel_1;

       }

       if(c==2)

       {

         gotolabel_2;

       }

     }

     else

     {

       gotolabel_1;

     }

   }

   if(a[i].m[b].yuefen==NULL)

   {

     a[i].m[b].yuefen=b+1;

     printf("请输入此人该月的应发工资:

\n");

     scanf("%f",&a[i].m[b].yfgz);

     printf("请输入此人该月所用水费:

\n");

     scanf("%f",&a[i].m[b].sf);

     printf("请输入此人该月所用电费\n");

     scanf("%f",&a[i].m[b].df);

     a[i].m[b].sj=shuijin(a[i].m[b].yfgz);

     a[i].m[b].sfgz=shifagongzi(a[i].m[b].yfgz,a[i].m[b].sf,a[i].m[b].df,a[i].m[b].sj);

     a[i].zsfgz=0;

     for(k=0;k<12;k++)

     {

       a[i].zsfgz+=a[i].m[k].sfgz;

     }

     c=0;

     while(c!

=1&&c!

=2)

     {

       printf("1继续\n2返主主菜单\n");

       scanf("%d",&c);

     }

     if(c==1)

     {

       gotolabel_1;

     }

     if(c==2)

     {

       gotolabel_2;

     }

   }

   c=0;

   while(c!

=1&&c!

=2)

   {

     printf("1继续\n2返回主菜单\n");

     scanf("%d",&c);

   }

   if(c==1)

   {

     gotolabel_1;

   }

   if(c==2)

   {

     gotolabel_2;

   }

 }

 label_2:

 fp=fopen("D:

工资信息.txt","r+");

 for(j=0;j

 {

   fwrite(&a[i],sizeof(structworker),1,fp);

 }

 fclose(fp);           

}   

voidmain()

{

 inta=0;

 duqu();

 while(a!

=5)

 {

   printf("/*******************欢迎使用*********************/\n");

   printf("/*************请按菜单选项进行选择*************/\n");

   printf("/*************1.查询个人工资情况  *************/\n");

   printf("/*************2.录入工资信息      *************/\n");

   printf("/*************3.删除个人工资信息  *************/\n");

   printf("/*************4.浏览员工工资信息  *************/\n");

   printf("/*************5.退出工资管理系统  *************/\n");

   printf("/******************^_^^_^^_^*******************/\n");

   scanf("%d",&a);

   switch(a)

   {

     case1:

chaxun();break;

     case2:

luru();break;

     case3:

shanchu();break;

     case4:

liulan();break;

     default:

break;

   }

 }

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动物植物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1