员工工资管理系统源代码Word文档格式.docx
- 文档编号:21095690
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:17
- 大小:18.33KB
员工工资管理系统源代码Word文档格式.docx
《员工工资管理系统源代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《员工工资管理系统源代码Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
//按姓名查询
voidPrint_MainInterface();
//主界面
voidPrint_Interface_1();
//职工信息录入界面
voidPrint_Interface_2();
//职工信息查询界面
voidPrint_Interface_3();
//职工工资排序界面
voidPrint_Interface_4();
//职工总工资
voidPrint_Interface_5();
//文件读出
voidqsort(intl,intr);
//快速排序
voidPrint_delete(intt);
//删除职工信息
voidPrint_Interface_2_1(intt);
//职工信息修改界面
intfyanzheng(chars1[],chars2[]);
//密码验证函数
employeest[500];
//记录职工信息的函数
intn;
//职工总数
voidmain()
intx;
employeeem;
printf("
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"
);
@@@@欢迎使用员工工资管理系统@@@@\n"
@@@@制作人:
刘爽@@@@\n"
@@@@在使用中产生的任何问题,欢迎进行批评指正@@@@\n"
\n"
if(Print_jinru())
{
Fscan_information();
Print_MainInterface();
}
elsereturn;
}
voidFscan_information()
FILE*fp;
inti;
if((fp=fopen("
职工信息.txt"
"
r"
))==NULL)
printf("
cannotopenthisfile\n"
return;
fscanf(fp,"
%d"
&
n);
for(i=1;
i<
=n;
i++)
fscanf(fp,"
%s%s%d%s%d%d%d"
st[i].num,st[i].name,&
st[i].age,st[i].sex,&
st[i].salary.basic,&
st[i].salary.subsidy,&
st[i].salary.wages);
st[i].salary.sum=st[i].salary.basic+st[i].salary.subsidy+st[i].salary.wages;
fclose(fp);
intfyanzheng(chars1[],chars2[])
FILE*fp1,*fp2;
charstr1[40]="
"
str2[40]="
st;
intt;
if((fp1=fopen("
账号验证.in"
return0;
t=0;
st=fgetc(fp1);
while(st!
='
#'
)
str1[t]=st;
t++;
st=fgetc(fp1);
}
if((fp2=fopen("
密码验证.in"
st=fgetc(fp2);
{
str2[t]=st;
st=fgetc(fp2);
fclose(fp1);
fclose(fp2);
if((strcmp(str1,s1)==0)&
&
(strcmp(str2,s2)==0))
return1;
else
intPrint_jinru()
intf,d;
charx[20],y[20];
f=0;
d=0;
while
(1)
请输入账号:
scanf("
%s"
x);
getchar();
请输入密码:
y);
f=fyanzheng(x,y);
if(d>
3)
{
printf("
错误次数太多,退出系统\n"
return0;
}
if(f>
0)break;
else{
账号或密码输入错误,请重新输入\n"
d++;
}
欢迎进入员工工资管理系统\n"
return1;
}
voidPrint_MainInterface()
*************************华丽的分割线*************************\n"
1.职工信息录入\n"
2.职工信息查询\n"
3.职工工资排序\n"
4.统计职工总工资\n"
5.保存到文件\n"
6.退出职工工资系统\n"
请选择所需操作:
scanf("
x);
if(x==1)
Print_Interface_1();
if(x==2)
Print_Interface_2();
if(x==3)
Print_Interface_3();
if(x==4)
Print_Interface_4();
if(x==5)
Print_Interface_5();
if(x==6)
***********************\n"
***********\n"
****************************\n"
*********\n"
**************************\n"
//printf("
233333333333333333333333333333333333333333333333333333\n"
return;
else
输入命令错误,返回主菜单(再乱输入我找人打你啊)\n"
voidPrint_Interface_1()
n++;
if(n>
500)
超出职工最大数\n"
*************************妖精的分割线*************************\n"
新建职工号:
st[n].num);
姓名:
st[n].name);
年龄:
st[n].age);
性别:
st[n].sex);
基本工资:
st[n].salary.basic);
津贴:
st[n].salary.subsidy);
奖金:
st[n].salary.wages);
st[n].salary.sum=st[n].salary.basic+st[n].salary.subsidy+st[n].salary.wages;
职工信息已成功录入\n"
Print_MainInterface();
voidPrint_Interface_2()
chars[50],y[50];
*************************逗比的分割线*************************\n"
1.查询所有职工\n"
2.按职工号查询\n"
3.按职工姓名查询\n"
4.返回主菜单\n"
请选择查找方式:
Print_staff();
请输入职工工号:
Print_empl1(y);
请输入职工姓名:
s);
Print_empl2(s);
输入命令错误,返回上一层\n"
voidPrint_Interface_3()
charch[10];
qsort(1,n);
排序完成!
排序后结果请从查询全体职工处查看\n"
voidPrint_Interface_4()
inti,All=0;
All=All+st[i].salary.sum;
所有职工的总工资为:
%d\n"
All);
请输入任意字符并敲回车键返回主菜单\n"
ch);
voidPrint_Interface_5()
w"
fprintf(fp,"
n);
fprintf(fp,"
%s%s%d%s%d%d%d\n"
st[i].num,st[i].name,st[i].age,st[i].sex,st[i].salary.basic,st[i].salary.subsidy,st[i].salary.wages);
已保存到文件\n"
请输入任意字符返回主菜单\n"
voidPrint_staff()
*************************帅比的分割线*************************"
职工工号:
%s\n"
st[i].num);
st[i].name);
st[i].age);
st[i].sex);
st[i].salary.basic);
st[i].salary.subsidy);
st[i].salary.wages);
总工资:
st[i].salary.sum);
返回上一层\n"
Print_Interface_2();
voidPrint_empl1(charx[])
inti,t,y,d=0;
if(strcmp(x,st[i].num)==0)
t=i;
d=1;
break;
0)
如需删除请按2,修改请按1,返回请按0\n"
scanf("
y);
if(y==2)
Print_delete(t);
else
if(y==1)
Print_Interface_2_1(t);
else
if(y==0)
Print_Interface_2();
{
printf("
输入命令错误,返回上一层(再乱输入我找人打你啊)\n"
}
else
对不起,查无此人(本系统不包括路人甲乙丙,不要乱输-_-!
)\n"
请重新选择查询方式\n"
Print_Interface_2();
voidPrint_empl2(chars[])
inti,t,x,y=0;
if(strcmp(s,st[i].name)==0)
y=1;
if(y>
如需删除请按2,修改请按1,返回请按0(再乱输入我找人打你啊)\n"
if(x==2)
if(x==1)
if(x==0)
voidPrint_delete(intt)
st[t].salary.sum=0;
n--;
已删除该职工并排序,自动返回主菜单\n"
voidPrint_Interface_2_1(intt)
请选择以下选项:
1.职工号\n"
2.姓名\n"
3.年龄\n"
4.性别\n"
5.基本工资\n"
6.津贴\n"
7.奖金\n"
8.返回上一层\n"
9.返回主菜单\n"
switch(x)
case1:
st[t].num);
break;
case2:
st[t].name);
case3:
st[t].age);
case4:
st[t].sex);
case5:
st[t].salary.basic);
case6:
st[t].salary.subsidy);
case7:
st[t].salary.wages);
st[t].salary.sum=st[t].salary.basic+st[t].salary.subsidy+st[t].salary.wages;
if(x<
=8)
if(x==9)
voidqsort(intl,intr)
inti,j,mid;
employeett;
i=l;
j=r;
mid=st[(l+r)/2].salary.sum;
do
while(st[i].salary.sum>
mid)i++;
while(st[j].salary.sum<
mid)j--;
if(i<
=j)
tt=st[i];
st[i]=st[j];
st[j]=tt;
i++;
j--;
}while(i<
=j);
if(i<
r)qsort(i,r);
if(l<
j)qsort(l,j);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 员工 工资管理 系统 源代码