3武汉长江工商学院计算机科学与技术系,项目名称:职工信息管理系统学生姓名:**学号:********班级:13级计科本1指导教师:**2014年05月22日目录1 引言 (1)1.1 选题意义 (1)1.2 国内外现状综述 (1)2 系统需求分析 (1)2.1 系统功能概述 (1)3 系统存储结构说明 (2)3.1 系统存储信息说明 (2)3.2 系统存储结构设计 (2)3.3 系统文件使用说明 (2)4 系统功能实现及代码描述 (2)4.1 录入职工信息模式 (3)4.2 浏览全体职工信息 (3)4.3 查询职工信息模式 (4)4.4 删除学生信息 (5)4.5 修改职工信息模式 (6)5系统测试 (7)5.1 职工信息录入模式 (7)5.2 职工信息浏览模式: (8)5.3 职工信息查询模式 (8)5.4 职工信息删除模式 (9)5.5 职工信息修改模式 (10)6体会 (10)参考文献 (10)附录:源程序清单 (11)1引言1.1 选题意义常言道,百丈之台起于垒土,千里之行始于足下,万丈高楼平地起,无论职位高低,每个员工都有着自己独特的对集体的贡献。
职工信息管理系统的建成,对员工信息的收集,整理,梳拢……等等都有着促进作用。
当今社会,是信息社会,谁能掌握第一手信息,从繁冗的信息库中发现闪光点,在事业的奋斗历程中,就能先于别人立于不败之地。
使用者有了这个系统,对员工信息的掌握也就了如指掌,周到,稳固,细致,有条理,这个对于一个庞大的集体的管理统治更加能发挥突出性的作用。
1.2 国内外现状综述职工信息管理系统是各大企业团体的主要日常管理工作之一,涉及到职工升迁去向,任职岗位,素质评价,以及团队实力,企业规划,工资待遇等等诸多方面的问题,随着社会经济发展,制度的不断改革,日常管理工作及保存管理日趋繁重、复杂。
迫切需要研制开发一款功能强大,操作简单,简洁明了的职工管理系统。
在国外与国内不同,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。
而国内企业信息化建设相对起步较晚,经济发展比较落后。
在数字化信息时代,各国家,地区一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。
但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。
纵观目前国内研究现状,在安全性和信息更新化方面存在有一定的不足,我国信息化网络平台监管力度不强,信息的保护措施也乏善可陈,因此构建安全有效的职工信息管理系统是我们努力的一大方向。
2 系统需求分析图2-1系统功能模块图2.2 系统模块进入主函数调用菜单函数。
打印提示信息里面有5个功能供其选择:菜单‘1’:信息录入功模式,输入选项一进入该功能,根据系统提示输入包括“name,sex,age,salary,education,address,phone,number”等八大类数据,隐含限制人数输入1000人,输入户到末尾有提示信息可以跳出录入环节;菜单‘2’:为员工信息浏览模式,当用户输‘2’选项时,系统自动把文件中的数据调入内存在输出到显示器上。
供用户浏览。
此功能较为简便,故在此不予以特别阐述;菜单‘3’:为员工信息查询模式,当用户选择‘3’后可以根据自己的需要选择(1.按编号查询;2.按学历查询3.按号码查询0.退出查询模式);菜单‘4’:员工信息删除模式,删除模式之下有三个选项(1.按编号删除;2.按姓名删除0.退出删除模式);当初入查询信息后,系统会根据查询信息结果可能反馈三类提示(“1,找到对应的数据,进行下一步操作;2。
未找到相匹配的信息,进行提示操作3。
数据库为空);菜单‘5’:职工信息修改模式,用户在主菜单里里面可选择此功能,菜单‘0’:用户选择此操作后结束程序运行。
3 系统存储结构说明3.1 系统存储信息说明该系统随机存储以人为单位的员工编号,姓名,年龄,性别,学历,工资,电话号码,地址等信息:其中员工编号随机生成,为长整型数据;姓名,学历,电话号码,地址等均为字符串型数据,由用户输入;性别为单个字符,男性用M 表示,女性用W表示,用户输入;年龄和工资均为普通整型数据,用户输入。
3.2 系统存储结构设计在设计系统时定义了一组囊括1000人的结构体变量struct worker-information【1000】,其中,每个结构体变量之中又定义long int型number;char name[],sex,,education,phone,address;int salary,age用以保存一个人的不同信息数据。
因为C语言中只能定义同一类型数据的集合,但事实上生活中所接触到的数据多种多样,其中各自之间又有着这样或那样的联系,因此,编程人员才特意开发出结构体型变量,用以储存多种不同类型却又有关联的数据。
3.3 系统文件使用说明系统工作时,预先生成或打开以中文“职工信息管理系统”命名的dat格式的文件,在录入员工数据,修改,删除时调用了save()函数打开文件用fwrite(p,sizeof(worker-information),1,fp)函数随即保存数据为二进制形式,在主界面之下,程序一经运行,会进入load()函数,利用fread(p,sizeof(worker-information),1,fp)函数读取文件信息到内存里头。
int load(struct worker_information *p)//职工信息读入函数//{ FILE *fp;if((fp=fopen("职工信息管理系统.dat","rb"))==NULL)return 0;do{ fread(p,sizeof(struct worker_information),1,fp);p++;}while(feof(fp)==0);while((*p1).number>0)p1++;fclose(fp);return 0; }4 系统功能实现及代码描述4.1 录入职工信息模式首先是进入input函数,依次输入姓名,年龄,性别…..等等,随后会显示一个提示窗口——》“结束输入请按“#””,此时如果不按#,则会重复调用input函数自身,进入下一位职工信息的录入,否则就会结束input函数的调用,跳出循环。
流程图如图4-1所示:图4-1 录用职工信息4.2 浏览全体职工信息在main()主函数菜单之下调用Output 函数,输出已录入现存的职工数据,此功能较为简便,故在此不予以特别概述。
流程图如图4-2所示:图4-2 浏览职工信息4.3 查询职工信息模式主函数之下调用search函数进入查询,该功能之下又衍生出三个分支1.按编号查询;2.按学历查询;3.按电话号码查询;凡此三类。
查询开始时,先输入所要查询的数据当输入查询信息找到与其相匹配的数据时,输出相应职工信息跳会search()主函数,否则显示“您所查询的用户数据不存在”。
流程图4-3如下:图4-3 职工信息按编号删除4.4 删除职工信息主函数之下调用delete函数进入删除页面,该功能之下又衍生出2个分支:1.按编号删除;2.按姓名删除;3.退出删除模式;凡此三类。
开始时,先输入所要删除的员工的相应数据,当输入查询信息找到与其相匹配的数据时,执行循环结构从该职工的后一位开始,以叠罗汉的形式从后往前覆盖,否则显示“input error ,please try again”,最后都会返回删除主界面之下。
流程图4-4如下:图4-4 删除职工信息4.5 修改职工信息模式该功能运用与删除功能类似,主函数之下调用correct函数进入修改页面,该功能之下只能按职工编号修改,开始时,先输入所要删除的员工的相应数据,当输入查询信息找到与其相匹配的数据时,执行循环结构从该职工的后一位开始,以叠罗汉的形式从后往前覆盖,否则显示“input error ,please try again”,最后都会返回删除主界面之下。
图4-5修改职工信息5系统测试5.1 职工信息录入模式首先是进入input函数,依次输入姓名,年龄,性别…..等等,随后会显示一个提示窗口——》“结束输入请按“#””,此时如果不按#,则会重复调用input函数自身,进入下一位职工信息的录入,否则就会结束input函数的调用,跳出循环。
程序图5-1所示:图5-1 录入职工信息5.2 职工信息浏览模式:在main()主函数菜单之下调用Output 函数,输出已录入现存的职工数据(职工数据不得大于1000人份),此功能较为简便,故在此不予以特别概述。
程序功能如图5-2所示:图5-2 浏览职工信息5.3 职工信息查询模式主函数之下调用search函数进入查询,该功能之下又衍生出三个分支:1.按编号查询;2.按学历查询;3.按电话号码查询;凡此三类。
查询开始时,先输入所要查询的数据当输入查询信息找到与其相匹配的数据时,输出相应职工信息跳会search()主函数,否则显示“您所查询的用户数据不存在”。
程序图5-3所示:图5-3 查询职工信息5.4 职工信息删除模式主函数之下调用delete函数进入删除页面,该功能之下又衍生出2个分支:1.按编号删除;2.按姓名删除;3.退出删除模式;凡此三类。
开始时,先输入所要删除的员工的相应数据,当输入查询信息找到与其相匹配的数据时,执行循环结构从该职工的后一位开始,以叠罗汉的形式从后往前覆盖,否则显示“input error ,please try again”,最后都会返回删除主界面之下。
程序图5-4所示:图5-4 删除职工信息5.5 职工信息修改模式该功能运用与删除功能类似,主函数之下调用correct函数进入修改页面,该功能之下只能按职工编号修改,开始时,先输入所要删除的员工的相应数据,当输入查询信息找到与其相匹配的数据时,执行循环结构从该职工的后一位开始,以叠罗汉的形式从后往前覆盖,否则显示“input error ,please try again”,最后都会返回删除主界面之下。
程序图如图5-5所示:图5-5 修改职工信息6体会这次的课程设计,准确来说,难度一般,只不过要想办法讲函数各功能之间衔接恰当,就不是那么简单了;再者数据输入时的缓冲溢出问题,要么只能用getchar(),要么就用fflush(stdin)来实现清理缓冲区的功能,始终未能找到一个更妥帖的办法;其次,文件的读写格式,以及文件的运用,使用起来要注意的细节太多,并且形式僵硬,容易出错,限制太多;最后,就是论文的完成,说实话,真是没有话好说,基本是黔驴技穷,还有就是流程图,真是难画。