学校人事管理系统c语言编写.docx

上传人:b****6 文档编号:5578008 上传时间:2022-12-28 格式:DOCX 页数:19 大小:20.98KB
下载 相关 举报
学校人事管理系统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语言编写

学校人事管理系统

注:

开始输入的管理员的姓名和学号是,xx2013

#include〈stdio。

h>

#include

#include

typedefstructteacher{

charname[20];

charsex[20];

charbirth[20];

charpost[20];//职称

intage;

chartimein[20];//入校时间

}teac;

teactea[1000];

intcount=0,flag1=0;

charstr[20],Administrator[20]=”xx”,accounts[20]=”2013";

voidenter();//进入

voidinit();//初始化

voidscan();//查看

voidfind();//查找

voidchange();//修改

voidsum();//统计

voiddel();//删除

voidadd();//添加

voidrank();//排序

voidsave();//保存

voidcopy(teac*t1,teac*t2);//赋值

voidmain()

intm;

enter();

init();

while

(1)

system("cls");//清屏

printf(”\n\n*********学校人事管理系统*********”);

printf(”\n________________________________________________\n");

printf(”\n*1.查看职工信息表\n”);

printf("\n*2。

查找职工\n");

printf("\n*3.修改职工信息\n");

printf("\n*4。

统计同一类型职工的人数\n");

printf("\n*5。

删除某职工\n");

printf("\n*6。

添加职工\n");

printf(”\n*7。

按职工的某项信息排序\n");

printf(”\n*8。

保存\n”);

printf(”\n*0。

退出系统\n”);

printf("\n________________________________________________\n");

printf(”请输入你的选择:

”);

scanf(”%d”,&m);

switch(m)

{

case1:

system("cls”);

scan();

getchar();

getchar();

break;

case2:

system(”cls”);

find();

getchar();

getchar();

break;

case3:

system("cls”);

change();

getchar();

getchar();

break;

case4:

system("cls");

sum();

getchar();

getchar();

break;

case5:

system("cls");

del();

getchar();

getchar();

break;

case6:

system("cls");

add();

getchar();

getchar();

break;

case7:

system(”cls”);

rank();

getchar();

getchar();

break;

case8:

system("cls");

save();

getchar();

getchar();

break;

case0:

if(flag1)

printf(”职工信息已改动,是否保存?

(Y/N)");

if((getchar()=='Y')||(getchar()=='y'))

save();

exit

(1);

break;

default:

printf(”输入有误,请重新输入……”);

system(”cls”);

break;

}

}

}

voidenter()

{

inti,flag=0;

charstr1[20],str2[20];

printf("请输入管理员的名字和帐号:

");

scanf("%s%s”,str1,str2);

if((strcmp(str1,Administrator)!

=0)||(strcmp(accounts,str2)!

=0))

{

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

{

printf("用户名或帐号有误,还有%d次机会,请重新输入:

”,3—i);

scanf("%s%s",str1,str2);

if((strcmp(str1,Administrator)==0)||(strcmp(accounts,str2)==0))

return;

printf(”你的输入有问题,为本系统的安全,系统将自动退出,欢迎下次使用……\n");

exit(0);

voidinit()//程序初始化

{

FILE*fp;

inti;

fp=fopen(”职工信息表.txt”,”r");

if(fp==NULL)

{

printf("打开文件失败,请查找问题");

exit(0);

}

for(i=0;!

feof(fp);i++)

{

fscanf(fp,”%s%s%s%s%d%s\n”,tea[i].name,tea[i]。

sex,tea[i].birth,tea[i]。

post,&tea[i].age,tea[i]。

timein);

count=i;

voidscan()//浏览职工信息表

{

inti;

printf(”姓名性别出生日期职称年龄入校时间\n”);

for(i=0;i

{

printf(”%d:

%s%s%s%s%d%s\n”,i+1,tea[i]。

name,tea[i].sex,tea[i].birth,tea[i].post,tea[i].age,tea[i]。

timein);

}

voidfind()//查找职工

inti,num=0;

printf(”请输入要查找的职工的名字:

");

scanf("%s”,str);

for(i=0;i

{

if(strcmp(str,tea[i]。

name)==0)

num++;

if(num==1)

{

printf(”你要查找的职工的信息为:

\n”);

printf("姓名性别出生日期职称年龄入校时间\n”);

}

printf(”%d:

%s%s%s%s%d%s\n",num,tea[i]。

name,tea[i].sex,tea[i]。

birth,tea[i]。

post,tea[i]。

age,tea[i]。

timein);

}

if(num==0)

printf(”没有找到你要查找的职工或输入错误,请核对后再输入!

");

voidchange()

inti,j=0,x,nianling,arr[50];

printf("请输入要修改的职工的名字:

”);

scanf("%s",str);

for(i=0;i

if(strcmp(str,tea[i].name)==0)

{

printf(”%d:

%s%s%s%s%d%s\n”,j+1,tea[i]。

name,tea[i].sex,tea[i]。

birth,tea[i]。

post,tea[i].age,tea[i]。

timein);

arr[j]=i;

j++;

}

if(j==0)

printf("没有你要查找的职工,请核对后再输入……”);

return;

}

elseif(j==1)

{

xg:

printf(”情输入要修改的选项:

\n1姓名\n2性别\n3出生日期\n4职称\n5年龄\n6入校时间\n7全部\n”);

printf(”请选择:

");

scanf(”%d",&x);

if(x==5)

{

printf(”请输入年龄:

");

scanf(”%d",&nianling);

tea[arr[j-1]]。

age=nianling;

}

elseif(x==7)

{

printf("请重新输入各项信息,输入顺序为:

\n”);

printf(”姓名性别出生日期职称年龄入校时间\n");

scanf(”%s%s%s%s%d%s”,tea[arr[j—1]].name,tea[arr[j-1]].sex,tea[arr[j-1]]。

birth,tea[arr[j-1]].post,&tea[arr[j—1]].age,tea[arr[j-1]]。

timein);

elseif(x<1||x>7)

{

printf(”输入有误,请重新操作……");

return;

else

printf(”请输入新的信息:

”);

scanf("%s",str);

switch(x)

case1:

strcpy(tea[arr[j—1]]。

name,str);

break;

case2:

strcpy(tea[arr[j-1]]。

sex,str);

break;

case3:

strcpy(tea[arr[j—1]].birth,str);

break;

case4:

strcpy(tea[arr[j-1]].post,str);

break;

case6:

strcpy(tea[arr[j—1]]。

timein,str);

break;

}

}

else

printf(”请选择要修改的职工的:

”);

scanf(”%d",&j);

gotoxg;

}

printf("修改成功……\n”);

flag1=1;

}

voidsum()//统计同一类型的职工的信息

{

inti,j,x,sum=0;

printf("\n1.性别2出生日期3职称4年龄5入校时间\n请输入统计的类型:

");

scanf(”%d",&x);

if(x〈1||x〉5)

{

printf(”输入有误,请重新操作……”);

return;

elseif(x==4)

printf("请输入需统计的年龄:

");

scanf("%d",&j);

for(i=0;i〈count;i++)

{

if(tea[i].age==j)

{

sum++;

if(sum==1)

printf(”统计结果为:

\n”);

printf("姓名性别出生日期职称年龄入校时间\n”);

printf(”%d:

%s%s%s%s%d%s\n",sum,tea[i].name,tea[i].sex,tea[i].birth,tea[i]。

post,tea[i].age,tea[i].timein);

}

}

elseif(x==5)

{

printf("请输入需统计的信息:

”);

scanf(”%s",&str);

for(i=0;i〈count;i++)

{

if(strcmp(tea[i].timein,str)==0)

sum++;

if(sum==1)

printf("统计结果为:

\n”);

printf("姓名性别出生日期职称年龄入校时间\n”);

printf("%d:

%s%s%s%s%d%s\n”,sum,tea[i]。

name,tea[i].sex,tea[i].birth,tea[i]。

post,tea[i].age,tea[i]。

timein);

}

}

}

else

{

printf(”请输入需统计的信息:

");

scanf(”%s",&str);

for(i=0;i

if((strcmp(tea[i]。

sex,str)==0)||(strcmp(tea[i]。

birth,str)==0)||(strcmp(tea[i].post,str)==0))

sum++;

if(sum==1)

{

printf("统计结果为:

\n”);

printf(”姓名性别出生日期职称年龄入校时间\n");

}

printf("%d:

%s%s%s%s%d%s\n",sum,tea[i]。

name,tea[i].sex,tea[i]。

birth,tea[i]。

post,tea[i].age,tea[i]。

timein);

}

if(sum==0)

printf("没有找到有关信息或输入有误,请核对后在输入……");

return;

printf("总人数为:

%d\n",sum);

}

voiddel()//删除职工

inti,j=0,y,num=0,arr[50];

printf(”请输入要删除的教师的名字:

”);

scanf(”%s",str);

for(i=0;i

if(strcmp(str,tea[i]。

name)==0)

{

arr[j]=i;

j++;

if(j〈=1)

{

printf("姓名性别出生日期职称年龄入校时间\n”);

printf("%d:

%s%s%s%s%d%s\n”,j,tea[i]。

name,tea[i].sex,tea[i]。

birth,tea[i].post,tea[i]。

age,tea[i].timein);

}

num=j;

if(j==0)

{

printf("没有你要查找的职工,请核对后再输入……”);

return;

}

elseif(j==1)

{

y=arr[0];

sc:

printf("请确认是否删除(Y/N)");

if((getchar()==’Y’)||(getchar()=='y’))

for(i=y;i

{

strcpy(tea[i]。

name,tea[i+1]。

name);

strcpy(tea[i]。

sex,tea[i+1]。

sex);

strcpy(tea[i].birth,tea[i+1]。

birth);

strcpy(tea[i]。

post,tea[i+1]。

post);

strcpy(tea[i].timein,tea[i+1]。

timein);

tea[i].age=tea[i+1]。

age;

}

}

else

return;

else

printf(”请选择要删除的职工:

");

scanf(”%d”,&j);

if(j〈1||j〉num)

printf(”输入有误,请重新操作……");

return;

}

y=arr[j—1];

gotosc;

}

count--;

printf(”删除成功……”);

flag1=1;

voidadd()

printf(”请按如下格式输入需要增加的职工信息:

\n");

printf(”姓名性别出生日期职称年龄入校时间\n");

scanf("%s%s%s%s%d%s”,tea[count].name,tea[count]。

sex,tea[count].birth,tea[count]。

post,&tea[count].age,tea[count]。

timein);

count++;

printf(”添加成功……”);

flag1=1;

}

voidrank()//按某种顺序排序

{

inti,j,a,min=0;

teactea1[1000],tmp;

for(i=0;i〈count;i++)

{

copy(&tea1[i],&tea[i]);

printf(”\n1姓名\n2出生日期\n3年龄\n4入校时间\n");

printf("请输入需要排序的项目:

");

scanf("%d”,&a);

switch(a)

{

case1:

printf("\n________________________________________________\n”);

printf("排序结果为:

\n");

printf("姓名性别出生日期职称年龄入校时间\n”);

for(i=0;i〈count;i++)

min=i;

for(j=i+1;j〈count;j++)

{

if(strcmp(tea1[j]。

name,tea1[min].name)<0)

min=j;

}

printf("%d:

%s%s%s%s%d%s\n",i+1,tea1[min]。

name,tea1[min].sex,tea1[min]。

birth,tea1[min]。

post,tea1[min].age,tea1[min]。

timein);

copy(&tmp,&tea1[i]);

copy(&tea1[i],&tea1[min]);

copy(&tea1[min],&tmp);

}

break;

case2:

printf("\n________________________________________________\n”);

printf("排序结果为:

\n");

printf("姓名性别出生日期职称年龄入校时间\n”);

for(i=0;i〈count;i++)

{

min=i;

for(j=i+1;j

{

if(strcmp(tea1[j].birth,tea1[min]。

birth)<0)

min=j;

}

printf("%d:

%s%s%s%s%d%s\n",i+1,tea1[min].name,tea1[min]。

sex,tea1[min].birth,tea1[min].post,tea1[min].age,tea1[min].timein);

copy(&tmp,&tea1[i]);

copy(&tea1[i],&tea1[min]);

copy(&tea1[min],&tmp);

break;

case3:

printf(”\n________________________________________________\n”);

printf(”排序结果为:

\n");

printf("姓名性别出生日期职称年龄入校时间\n”);

for(i=0;i

min=i;

for(j=i+1;j〈count;j++)

if(tea1[j]。

age

age)

min=j;

}

}

printf(”%d:

%s%s%s%s%d%s\n”,i+1,tea1[min]。

name,tea1[min].sex,tea1[min]。

birth,tea1[min]。

post,tea1[min].age,tea1[min]。

timein);

copy(&tmp,&tea1[i]);

copy(&tea1[i],&tea1[min]);

cop

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

当前位置:首页 > 自然科学 > 物理

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

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