员工管理系统Word格式.docx

上传人:b****4 文档编号:18425507 上传时间:2022-12-16 格式:DOCX 页数:21 大小:139.43KB
下载 相关 举报
员工管理系统Word格式.docx_第1页
第1页 / 共21页
员工管理系统Word格式.docx_第2页
第2页 / 共21页
员工管理系统Word格式.docx_第3页
第3页 / 共21页
员工管理系统Word格式.docx_第4页
第4页 / 共21页
员工管理系统Word格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

员工管理系统Word格式.docx

《员工管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《员工管理系统Word格式.docx(21页珍藏版)》请在冰豆网上搜索。

员工管理系统Word格式.docx

next=head;

就是将最后一个结点的后继指向头结点,函数结尾returnhead;

将约瑟夫环的头指针返回,并将它赋值head,然后主函数继续调用Josephu函数,通过讲head和Password引入函数,以建立两个嵌套循环输出并实现如下功能:

编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。

一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。

报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。

2.程序源代码:

员工管理系统

#include<

stdio.h>

windows.h>

time.h>

string.h>

#defineN100

structemployee

{

intnum;

charname[10];

charsex;

intage;

charxueli[30];

intwage;

charaddr[30];

longinttel;

}em[100];

/*定义一个结构体*/

voidmenu();

voidinput();

voidsave(int);

voiddisplay();

voiddel();

voidadd();

voidsearch();

voidsearch_num();

voidsearch_xueli();

voidsearch_tel();

voidmodify();

/*定义各函数*/

voidmenu()/*菜单函数*/

printf("

☆☆☆计算机科学系软件工程0901B☆☆☆\n"

);

\n"

******************职工信息管理****************\n"

1.录入职工信息"

2.浏览职工信息\n"

3.查询职工信息"

4.删除职工信息\n"

5.添加职工信息"

6.修改职工信息\n"

7.退出\n"

********************谢谢使用******************\n"

}

voidmain()

menu();

/*调用菜单函数*/

intn,flag;

chara;

do

{

请选择你需要操作的步骤(1--7):

scanf("

%d"

&

n);

if(n>

=1&

&

n<

=7)

flag=1;

break;

}

else

flag=0;

您输入有误,请重新选择!

"

while(flag==0);

while(flag==1)

switch(n)

case1:

printf("

◆◆◆输入职工信息◆◆◆\n"

input();

break;

case2:

◆◆◆浏览职工信息◆◆◆\n"

display();

case3:

◆◆◆按职工号查询职工信息◆◆◆\n"

search();

case4:

◆◆◆删除职工信息◆◆◆\n"

del();

case5:

◆◆◆添加职工信息◆◆◆\n"

add();

case6:

◆◆◆修改职工信息◆◆◆\n"

modify();

case7:

exit(0);

default:

getchar();

是否继续进行(yorn):

%c"

a);

if(a=='

y'

system("

cls"

/*清屏*/

请再次选择你需要操作的步骤(1--6):

else

exit(0);

voidinput()/*录入函数*/

inti,m;

请输入需要创建信息的职工人数(1--100):

m);

for(i=0;

i<

m;

i++)

职工号:

"

srand((int)time(0));

em[i].num=rand()%10000+20000000;

if(em[i].num!

=em[i-1].num)

%8d"

em[i].num);

请输入姓名:

%s"

em[i].name);

请输入性别(w——女m——男):

em[i].sex);

请输入年龄:

em[i].age);

请输入学历:

em[i].xueli);

请输入工资:

em[i].wage);

请输入住址:

em[i].addr);

请输入电话:

em[i].tel);

\n创建完毕!

save(m);

voidsave(intm)/*保存文件函数*/

inti;

FILE*fp;

if((fp=fopen("

employee_list"

"

wb"

))==NULL)/*创建文件并判断是否能打开*/

printf("

cannotopenfile\n"

i++)/*将内存中职工的信息输出到磁盘文件中去*/

if(fwrite(&

em[i],sizeof(structemployee),1,fp)!

=1)

filewriteerror\n"

fclose(fp);

intload()/*导入函数*/

inti=0;

if((fp=fopen("

rb"

))==NULL)

do

fread(&

em[i],sizeof(structemployee),1,fp);

i++;

while(feof(fp)==0);

return(i-1);

voiddisplay()/*浏览函数*/

intm=load();

\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n"

for(i=0;

\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n"

em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

voiddel()/*删除函数*/

inti,j,n,t,flag;

charname[20];

\n原来的职工信息:

display();

/*调用浏览函数*/

请输入要删除的职工的姓名:

name);

for(flag=1,i=0;

flag&

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

\n已找到此人,原始记录为:

\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n"

\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%ld\n"

\n确实要删除此人信息请按1,不删除请按0\n"

if(n==1)/*如果删除,则其他的信息都往上移一行*/

for(j=i;

j<

m-1;

j++)

strcpy(em[j].name,em[j+1].name);

em[j].num=em[j+1].num;

em[j].sex=em[j+1].sex;

em[j].age=em[j+1].age;

strcpy(em[j].xueli,em[j+1].xueli);

em[j].wage=em[j+1].wage;

strcpy(em[j].addr,em[j+1].addr);

em[j].tel=em[j+1].tel;

if(!

flag)

m=m-1;

\n对不起,查无此人!

\n浏览删除后的所有职工信息:

\n继续删除请按1,不再删除请按0\n"

t);

switch(t)

case0:

voidadd()/*添加函数*/

intn;

intcount=0;

fp=fopen("

emploee_list"

a"

请输入想增加的职工数:

for(i=m;

(m+n);

\n请输入新增加职工的信息:

请输入职工号:

请输入性别(f--女m--男):

count=count+1;

已增加的人数:

%d\n"

count);

\n添加完毕!

m=m+count;

\n浏览增加后的所有职工信息:

voidsearch()/*查询函数*/

intt,flag;

\n按职工号查询请按1;

按学历查询请按2;

按电话号码查询请按3,进入主函数按4\n"

if(t>

t<

=4)

{

按职工号查询\n"

search_num();

按学历查询\n"

search_xueli();

按电话号码查询\n"

search_tel();

main();

default:

voidsearch_num()

inti,t;

请输入要查找的职工号(20001111---20009999):

num);

if(num==em[i].num)

\n已找到此人,其记录为:

if(i==m)

\n对不起,查无此人\n"

返回查询函数请按1,继续查询职工号请按2\n"

voidsearch_xueli()

请输入要查找的学历:

xueli);

if(strcmp(em[i].xueli,xueli)==0)

\n已找到,其记录为:

返回查询函数请按1,继续查询学历请按2\n"

voidsearch_tel()

inti,t;

请输入要查找的电话号码:

%ld"

tel);

if(tel==em[i].tel)

返回查询函数请按1,继续查询电话号码请按2\n"

voidmodify()/*修改函数*/

intb,c,i,n,t,flag;

请输入要修改的职工的姓名:

\n确实要修改此人信息请按1;

不修改请按0\n"

if(n==1)

\n需要进行修改的选项\n1.职工号2.姓名3.性别4.年龄5.学历6.工资7.住址8.电话\n"

请输入你想修改的那一项序号:

c);

if(c>

8||c<

1)

\n选择错误,请重新选择!

if(flag==1)

switch(c)

职工号改为:

em[i-1].num=num;

姓名改为:

strcpy(em[i-1].name,name);

性别改为:

sex);

em[i-1].sex=sex;

年龄改为:

age);

em[i-1].age=age;

学历改为:

strcpy(em[i-1].xueli,xueli);

工资改为:

wage);

住址改为:

addr);

strcpy(em[i-1].add

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

当前位置:首页 > 解决方案 > 学习计划

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

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