数据结构大作业 职工管理系统.docx
《数据结构大作业 职工管理系统.docx》由会员分享,可在线阅读,更多相关《数据结构大作业 职工管理系统.docx(22页珍藏版)》请在冰豆网上搜索。
![数据结构大作业 职工管理系统.docx](https://file1.bdocx.com/fileroot1/2022-10/29/7ef6d8b3-ee53-457b-8c66-32477a1ee47f/7ef6d8b3-ee53-457b-8c66-32477a1ee47f1.gif)
数据结构大作业职工管理系统
#include
#include
#include
#include
#defineLEN15
#defineN50
structGZX{
floatjbgz;//基本工资
floatjj;//奖金
floatzfgjj;//住房公积金
floatjt;//津贴
floatsjgz;//实际工资
inta;//当月是否已发
};//工资项
structrecord
{
charname[LEN+1];//姓名
intage;//年龄
charsex[3];//性别
chartime1[LEN+1];//出生年月
chartime2[LEN+1];//工作年月
charzhiwu[LEN+1];//职务
charxueli[LEN+1];//学历
charadd[LEN+1];//家庭地址//
chartel[LEN+1];//电话号码//
structGZXgzx;//工资项
}emp[N];
typedefstruct{
charname[LEN+1];//用户名
charpassword[7];//密码
}user;//登陆身份
intk=1,n,m;/*定义全局变量*/
voidseek1();//查询基本信息
voidseek2();//查询工资信息
voidmodify1();//修改基本信息
voidmodify2();//修改工资信息
voidinsert();//插入函数
voidsort();//按姓名排序
voidpass_screen();//登陆界面
voiddel();//删除函数
voiddisplay1();//显示基本信息
voiddisplay2();//显示工资信息
voidsave();//保存当前信息
voidmenu1();//总管理员界面
voidmenu2();//人事总管界面
voidmenu3();//财务主管界面
voidmenu4();//普通用户界面
intmain()
{
char*p="employe.txt";
FILE*fp;
inti=0;
if((fp=fopen("employe.txt","r"))==NULL)
{
printf("Openfile%serror!
Strikeanykeytoexit!
",p);
system("pause");
exit(0);
}
system("colorf1");
while(fscanf(fp,"%s%d%s%s%s%s%s%s%s%f%f%f%f%f%d",emp[i].name,&emp[i].age,emp[i].sex,
emp[i].time1,emp[i].time2,emp[i].zhiwu,emp[i].xueli,emp[i].add,emp[i].tel,&emp[i].gzx.jbgz,
&emp[i].gzx.jj,&emp[i].gzx.jt,&emp[i].gzx.zfgjj,&emp[i].gzx.sjgz,&emp[i].gzx.a)==15)
{
i++;
i=i;
}
fclose(fp);
n=i;
pass_screen();
system("pause");
return0;
}
voidhelp()
{
printf("\n0.欢迎使用系统帮助\n");
printf("\n1.初次使用,请先录入信息\n");
printf("\n2.进入系统后,按照提示进行操作\n");
printf("\n3.修改信息后,切记按保存键\n");
printf("\n4.输入信息后,按回车键进行操作\n");
printf("\n5.谢谢您的使用!
\n");
}
voidpass_screen()//登陆界面
{
userpass_message[4];
intj=0;
char*p="pass_message.txt";
FILE*fp;
inti=0;
charsname[15];
charspassword[7],c;
if((fp=fopen("pass_message.txt","r"))==NULL)
{
printf("openfile%serror!
strikeanykeytoexit!
",p);
system("pause");
exit(0);
}
while(fscanf(fp,"%s%s",pass_message[i].name,pass_message[i].password)==2)
{
i++;
i=i;
}
printf("1.总管理员请以总管理员身份登陆\n");
printf("2.人事主管请以人事主管身份登陆\n");
printf("3.财务主管请以财务主管身份登陆\n");
printf("4.普通用户用户名和密码均为:
000000\n");
printf("\n\n\n\n\n");
printf("\t\t\t请输入账号:
\n");
printf("\t\t\t");
scanf("%s",sname);
printf("\t\t\t请输入密码:
\n");
printf("\t\t\t");
while(j<6)
{
c=getch();
if((c==8)||(c==13))break;
else{
printf("●");
spassword[j]=c;
j++;
spassword[j]='\0';}
}
system("cls");
if((strcmp(pass_message[0].name,sname)==0)&&(strcmp(pass_message[0].password,spassword)==0))
while(k)menu1();
elseif((strcmp(pass_message[1].name,sname)==0)&&(strcmp(pass_message[1].password,spassword)==0))
while(k)menu2();
elseif((strcmp(pass_message[2].name,sname)==0)&&(strcmp(pass_message[2].password,spassword)==0))
while(k)menu3();
elseif((strcmp(pass_message[3].name,sname)==0)&&(strcmp(pass_message[3].password,spassword)==0))
while(k)menu4();
elseprintf("用户名或密码输入错误\n");
}
voidseek1()//查询一般信息
{
inti,item,flag;
chars1[21];
printf("------------------\n");
printf("-----1.按职务查询-----\n");
printf("-----2.按姓名查询-----\n");
printf("-----3.退出本菜单-----\n");
printf("------------------\n");
while
(1)
{
printf("请选择子菜单编号:
");
scanf("%d",&item);
flag=0;
switch(item)
{
case1:
printf("请输入要查询的职工的职务:
\n");
scanf("%s",s1);
for(i=0;iif(strcmp(emp[i].zhiwu,s1)==0)
{
flag=1;
printf("职工姓名职工年龄性别出生年月工作年月职务学历地址电话\n");
printf("-----------------------------------------------------------------------------\n");
printf("%6s%5d%6s%11s%11s%9s%6s%6s%11s\n",emp[i].name,emp[i].age,
emp[i].sex,emp[i].time1,emp[i].time2,emp[i].zhiwu,emp[i].xueli,
emp[i].add,emp[i].tel);
}
if(flag==0)
printf("该职务不存在!
\n");break;
case2:
printf("请输入要查询的职工的姓名:
\n");
scanf("%s",s1);
for(i=0;iif(strcmp(emp[i].name,s1)==0)
{
flag=1;
printf("职工姓名职工年龄性别出生年月工作年月职务学历地址电话\n");
printf("-----------------------------------------------------------------------------\n");
printf("%6s%5d%6s%11s%11s%9s%6s%6s%11s\n",emp[i].name,emp[i].age,
emp[i].sex,emp[i].time1,emp[i].time2,emp[i].zhiwu,emp[i].xueli,
emp[i].add,emp[i].tel);
}
if(flag==0)
printf("该姓名不存在!
\n");break;
case3:
return;
default:
printf("请在1-3之间选择\n");
}
}
}
voidseek2()//查询工资信息
{
inti,item,flag;
chars1[21];
printf("------------------\n");
printf("-----1.按职务查询-----\n");
printf("-----2.按姓名查询-----\n");
printf("-----3.退出本菜单-----\n");
printf("------------------\n");
while
(1)
{
printf("请选择子菜单编号:
");
scanf("%d",&item);
flag=0;
switch(item)
{
case1:
printf("请输入要查询的职工的职务:
\n");
scanf("%s",s1);
for(i=0;iif(strcmp(emp[i].zhiwu,s1)==0)
{
flag=1;
printf("职工姓名基本工资奖金津贴住房公积