职工信息系统.docx
- 文档编号:10241163
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:38
- 大小:628.41KB
职工信息系统.docx
《职工信息系统.docx》由会员分享,可在线阅读,更多相关《职工信息系统.docx(38页珍藏版)》请在冰豆网上搜索。
职工信息系统
摘要
随着经济的高速发展,一个好的职工信息管理程序在企业及用人单位扮演着重要的角色,为了设计一个功能强大的职工信息管理系统在设计中我们做出了明细分工,目的是要让本组成员都从这次课程设计中学到编程经验与团队精神。
“职工信息管理系统”系统以菜单方式工作编写存放有职工基本信息,包含职工、工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等、并且要求录入职工号不重复,录入的职工号信息要求用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作,建立职工信息管理的文件。
关键字:
职工信息管理;系统;函数;高效;查询
Abstract
Withtherapiddevelopmentofeconomy, agood staffinformationmanagement programin enterprisesandemployingunits playanimportantrole, inorderto the staffinformationmanagement systemdesignofa powerful inthedesign, wemadea detailed divisionoflabor, thepurposeistoletthemembersofthisgroup are fromthe coursedesign tolearnprogrammingexperience withteam spirit. "Informationmanagementsystem" systemtoworkthewaythemenu "writestore basicinformation staff, including staff, employeenumber,name, sex, dateofbirth, education, position, salary, address,telephone, andrequiresthe input numberofworkers nottorepeat, staff information requirementsforadmissiontothe file issaved, andcanbe tobrowse, query, modify, delete andotherbasicoperations ofthe informationmanagement, theestablishmentofemployee files.
Keywords:
staffinformationmanagement; system; function; highefficiency
目录
1概述1
2总体设计2
2.1总体思想2
2.2总体流程图2
2.3开始模块4
2.4录入模块5
2.5查询模块6
2.6删除模块10
2.7添加模块12
2.8修改模块14
2.8浏览模块19
2.9退出模块19
3详细分析20
3.1主界面分析20
3.2录入职工信息分析20
3.3查询分析21
3.4删除分析23
3.6添加分析24
3.7修改分析25
3.8浏览分析27
3.9退出分析27
4调试分析28
5总结31
参考文献33
致谢34
1概述
在当今社会,互联网空间的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。
当前大量企业的职工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。
因此部分企业需求,设计企业职工信息管理系统,以帮助企业达到员工管理办公自动化、节约管理成本、提高企业工作效率的目的。
企业职工信息管理系统采用结构体,主要对企业员工的信息以及跟人事相关的工作流程进行集中管理,方便企业建立一个完善的、强大的员工信息数据库,它是以vc++作为开发平台。
使用C设计管理页面和编写操作程序,完成数据输入、修改、存储、调用查询等功能实现职工信息管理。
2总体设计
2.1总体思想
本系统主要的设计思想是实现对职工信息的录入、删除、排序、查询等主要功能。
职工信息以文件的形式存储。
系统的人机接口采用简单的字符界面进行交互。
系统的设计方法是结构化设计方法,采用C语言进行开发。
软件开发平台采用VisualC++6.0,主要考虑在VC中可以使用中文,用户交互界面设计比较美观清晰.
2.2总体流程图
为了全面和更好的了解与使用我们设计的职工信息管理系统,我们把总体的设计流程图绘制出来,图表主要包括七个部分,1,录入职工信息;2,浏览职工信息;3,查询职工信息;4,添加职工信息;5,修改职工信息;6,删除职工信息;7,退出。
使用者可以根据自己要添加或者要查询的信息,登入系统后直接进行选择,然后输入。
下面是该系统的总体流程图。
图2.1总体设计流程图
2.3开始模块
首先,打开职工信息管理系统,你就进入主界面,也就是主菜单,你可以看到它有7个选择,分别是1,录入职工信息;2,浏览职工信息;3,查询职工信息;4,删除职工信息;5,添加职工信息;6修改职工信息;7,退出;如下是开始界面的框图和该程序的代码
。
图2.2开始流程图
代码实现:
voidmenu()
printf("^=^^=^欢迎进入职工信息管理系统^=^^=^\n");
printf("**1.录入职工信息**\n");
printf("**2.浏览职工信息**\n");
printf("**3.查询职工信息**\n");
printf("**4.删除职工信息**\n");
printf("**5.添加职工信息**\n");
printf("**6.修改职工信息**\n");
printf("**7.退出**\n");
printf("~_~~_~~_~谢谢使用!
~_~~_~~_~\n");
2.4录入模块
在录入模块里,你可以依据系统的提示语一一填写你所要输入的职工的详细信息,其中有职工号,职工姓名,职工学历,职工性别,职工电话,职工工资,职工住址等。
如下是录入模块的框架和代码。
图2.3录入模块图
代码实现:
voidinput()/*录入函数*/
{
inti,m;
printf("请输入需要创建信息的职工人数(1--100):
\n");
scanf("%d",&m);
for(i=0;i { printf("请输入职工号: "); scanf("%d",&em[i].num); printf("请输入姓名: "); scanf("%s",em[i].name); getchar(); printf("请输入性别(f--女m--男): "); scanf("%c",&em[i].sex); printf("请输入年龄: "); scanf("%d",&em[i].age); printf("请输入学历: "); scanf("%s",em[i].xueli); printf("请输入工资: "); scanf("%d",&em[i].wage); printf("请输入住址: "); scanf("%s",em[i].addr); printf("请输入电话: "); scanf("%s",em[i].tel); printf("\n"); } printf("\n创建完毕! \n"); save(m); 2.5查询模块 在你输入的职工信息中,通过界面的提示,你可以按照职工的单个信息选择你要查询的该职工的全部信息。 例如,你可以查询职工姓名,来获取该职工的全部信息。 以下是查询模块的框架和代码实现。 图2.4查询模块 图2.4查询模块 代码实现: voidsearch_num() { intnum; inti,t; intm=load(); printf("请输入要查找的职工号: \n"); scanf("%d",&num); for(i=0;i if(num==em[i].num) { printf("\n已找到此人,其记录为: \n"); printf("职工号\t姓名\t\t性别\t\t年龄\n"); printf("\n%d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); printf("\n学历\t\t工资\t\t住址\t\t电话\n"); printf("\n%s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel); break; } if(i==m) printf("\n对不起,查无此人\n"); printf("\n"); printf("返回查询函数请按1,继续查询职工号请按2\n"); scanf("%d",&t); switch(t) { case1: search();break; case2: break; default: break; } } voidsearch_xueli() { charxueli[30]; inti,t; intm=load(); printf("请输入要查找的学历: \n"); scanf("%s",xueli); for(i=0;i if(strcmp(em[i].xueli,xueli)==0) { printf("\n已找到,其记录为: \n"); printf("职工号\t姓名\t\t性别\t\t年龄\n"); printf("\n%d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); printf("\n学历\t\t工资\t\t住址\t\t电话\n"); printf("\n%s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel); } if(i==m) printf("\n对不起,查无此人\n"); printf("\n"); printf("返回查询函数请按1,继续查询学历请按2\n"); scanf("%d",&t); switch(t) { case1: search();break; case2: break; default: break; } } voidsearch_tel() { chartel[20]; inti,t; intm=load(); printf("请输入要查找的电话号码: \n"); scanf("%s",tel); for(i=0;i if(strcmp(tel,em[i].tel)==0) { printf("\n已找到此人,其记录为: \n"); printf("职工号\t姓名\t\t性别\t\t年龄\n"); printf("\n%d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); printf("\n学历\t\t工资\t\t住址\t\t电话\n"); printf("\n%s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel); break; } if(i==m) printf("\n对不起,查无此人\n"); printf("\n"); printf("返回查询函数请按1,继续查询电话号码请按2\n"); scanf("%d",&t); switch(t) { case1: search();break; case2: break; default: break; } } 2.6删除模块 删除模块主要是用与删除一些你所不想要的职工,可以提高系统更好的对职工信息的管理,主要是通过删除职工的姓名来删除该职工的所以信息。 大体模块框架如下图所示,代码如下图所示。 图2.5删除模块 代码实现: voiddel()/*删除函数*/ { intm=load(); inti,j,n,t,flag; charname[20]; printf("\n原来的职工信息: \n"); display(); printf("\n"); printf("请输入要删除的职工的姓名: \n"); scanf("%s",name); for(flag=1,i=0;flag&&i { if(strcmp(em[i].name,name)==0) { printf("\n已找到此人,原始记录为: \n"); printf("职工号\t姓名\t\t性别\t\t年龄\n"); printf("\n%d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); printf("\n学历\t\t工资\t\t住址\t\t电话\n"); printf("\n%s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel); printf("\n确实要删除此人信息请按1,不删除请按0\n"); scanf("%d",&n); if(n==1) { for(j=i;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); strcpy(em[j].tel,em[j+1].tel); } flag=0; } } } if(! flag) m=m-1; else printf("\n对不起,查无此人! \n"); printf("\n浏览删除后的所有职工信息: \n"); save(m);/*调用保存函数*/ display();/*调用浏览函数*/ printf("\n继续删除请按1,不再删除请按0\n"); scanf("%d",&t); switch(t) { case1: del();break; case0: break; default: break; } } 2.7添加模块 该模块用于添加职工与职工信息,以便更好的管理职工的流动,不给以后的工作带来不必要的琐事。 其具体模块框架,代码实现如下图所示。 图2.6添加模块 代码实现: voidadd()/*添加函数*/ { FILE*fp; intn; intcount=0; inti; intm=load(); printf("\n原来的职工信息: \n"); display(); printf("\n"); fp=fopen("emploee_list","a"); printf("请输入想增加的职工数: \n"); scanf("%d",&n); for(i=m;i<(m+n);i++) { printf("\n请输入新增加职工的信息: \n"); printf("请输入职工号: "); scanf("%d",&em[i].num); printf("\n"); printf("请输入姓名: "); scanf("%s",em[i].name); getchar(); printf("请输入性别(f--女m--男): "); scanf("%c",&em[i].sex); printf("请输入年龄: "); scanf("%d",&em[i].age); printf("请输入学历: "); scanf("%s",em[i].xueli); printf("请输入工资: "); scanf("%d",&em[i].wage); printf("请输入住址: "); scanf("%s",em[i].addr); printf("请输入电话: "); scanf("%s",em[i].tel); printf("\n"); count=count+1; printf("已增加的人数: \n"); printf("%d\n",count); } printf("\n添加完毕! \n"); m=m+count; printf("\n浏览增加后的所有职工信息: \n"); printf("\n"); save(m); display(); fclose(fp); } 2.8修改模块 修改模块用于修改以前输错的职工信息和修改以前已经存在的职工信息的具体信息的变化,例如,职工的电话号码,住址等发生了变化,这时候,就可以用运修改模块来对一些职工的信息进行修改。 其具体结构框架和代码实现如下图所示。 图2.7修改模块 代码实现: voidmodify()/*修改函数*/ { intnum; charname[20]; charsex; intage; charxueli[30]; intwage; charaddr[30]; chartel[20]; intb,c,i,n,t,flag; intm=load(); printf("\n原来的职工信息: \n"); display(); printf("\n"); printf("请输入要修改的职工的姓名: \n"); scanf("%s",name); for(flag=1,i=0;flag&&i { if(strcmp(em[i].name,name)==0) { printf("\n已找到此人,原始记录为: \n"); printf("职工号\t姓名\t\t性别\t\t年龄\n"); printf("\n%d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); printf("\n学历\t\t工资\t\t住址\t\t电话\n"); printf("\n%s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel); printf("\n确实要修改此人信息请按1;不修改请按0\n"); scanf("%d",&n); if(n==1) { printf("\n需要进行修改的选项\n1.职工号2.姓名3.性别4.年龄5.学历6.工资7.住址8.电话\n"); printf("请输入你想修改的那一项序号: \n"); scanf("%d",&c); if(c>8||c<1) printf("\n选择错误,请重新选择! \n"); } flag=0; } } if(flag==1) printf("\n对不起,查无此人! \n"); do { switch(c)/*因为当找到第i个职工时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人*/ { case1: printf("职工号改为: "); scanf("%d",&num); em[i-1].num=num; break; case2: printf("姓名改为: "); scanf("%s",name); strcpy(em[i-1].name,name); break; case3: printf("性别改为: "); getchar(); scanf("%c",&sex); em[i-1].sex=sex; break; case4: printf("年龄改为: "); scanf("%d",&age); em[i-1].age=age; break; case5: printf("学历改为: "); scanf("%s",xueli); strcpy(em[i-1].xueli,xueli); break; case6: printf("工资改为: "); scanf("%d",wage); break; case7: printf("住址改为: "); scanf("%s",addr); strcpy(em[i-1].addr,addr); break; case8: printf("电话改为: "); scanf("%s",tel); strcpy(em[i-1].tel,tel); break; } printf("\n"); printf("\n是否确定所修改的信息? \n是请按1;不,重新修改请按2: \n"); scanf("%d",&b); } while(b==2); printf("\n浏览修改后的所有职工信息: \n"); printf("\n"); save(m); display(); printf("\n继续修改请按1,不再修改请按0\n"); scanf("%d",&t); switch(t) { case1: modify();break; case0: break; default: break; } } 2.8浏览模块 在浏览模块中,用户直接输入”2”,就可以浏览所有职工的信息 2.9退出模块 返回主菜单函数,从键盘上输入7,按回车键退出职工信息管理系统。 3详
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 职工 信息系统