《c语言程序设计》课程设计。
指导教师:李耀成。
设计者:刘玉成、孙涛、马新涌、郭恒阳。
专业班级:机电081
设计时间:2023年11月。
人事档案管理系统。
一、需求分析。
电脑已经深入到我们日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。windows系统的推出使电脑从高雅的学术殿堂走入了寻常百姓家,各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了多如牛毛的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。
随着企事业单位的发展,人员会越来越多,少则几十人、多则上万人。例如一个企业分很多部门,每个部门又分为许多科或室等,而其下又分为各级领导和员工。用笔和纸传统的手工管理档案,这中管理方式存在着不易更新、不易存放、不安全、容易丢失、难以备份等重大缺陷,管理起来效率低下而且很可能造成管理上的混乱。
而自己建立简单的电子文档对信息管理进行管理虽然克服了以上的缺点,但查询效率较低,特别是当数据量十分庞大时,劣势尤其明显。因此开发一个既可以存储信息,又可以进行更新、查询、管理等功能,同时**又能为广大消费者接受的多功能电子人事信息管理系统就显得十分必要。
本实验的读者对象为研发中心领导和主管技术人员以及项目设计和开发人员。
二、系统框图。
三、任务分工
高玉峰负责:输入模块,显示模块,删除模块 。
祝令瑞负责:存储模块查询模块、读取模块统计模块、退出模块 。
四、系统的软硬件环境。
1、硬件环境: cpu 2.4ghz 256m内存 80g硬盘。
2、软件环境:turboc2.0 ucdos5.0 操作系统 windowsxp。
五、设计分析。
人事档案管理系统功能:
程序设计一般由两部分组成:算法和数据结构,合理地选择和实现一个数据结构和处理这些数据结构具有同样的重要性。在人事管理过程中,由于预计记录对于一个单位的学生数或人事数来说太大,操作除了能够增加、删除、保存等外,更多的情况是查询,且能够实现快速查询。
特别是当需要动态变化时利用链表,例如插入和删除数据等操作时,为方便插入和删除人事记录,通过数据的自动的移动数据,实现动态管理。
本系统涉及的模块主要有:开始、系统管理、人事管理、信息查询等四大模块。
1) 人事管理主要包括:(编号、姓名、性别、年龄、出生日期、政治面貌、家庭住址、**等)基本内容的输入,删除,修改,查询。
2) 系统管理主要包括:用户的注册,资料的修改等。
3) 信息查询主要包括:员工信息的查找、打印等。
2. 模块功能及操作步骤:
各个模块功能及流程图
1)record()系统将提示输入人事姓名、性别、城市、街道、**、邮编、进入公司的时间(**注意:按提示输入***主要使用”scanf()”及”getchar()”语句。首先利用”malloc”函数在内存的动态存储器中开辟一个长度为”sizeof”长度的空间,以存放预定义的”*worker”指向的内容。
并用”new”指向起始地址的指针。若不能执行,返回空指针。否则,利用链表执行输入功能。
即:else流程图
y2)listall()系统将显示文件中存储的人事档案。此功能利用do{}while;语句。若”this”不指向空。该系统利用语句。
doprintf(“记录%d”,+i);
printf(this);
getchar();
this=this->next;
此外使用“printf()”语句完成显示功能系统。(流程图在7页)
3)del()系统将提示输入要删除人事的姓名。输入相应信息。系统将删除您所指定的信息。
主要使用”strcmp()”及”printf()”等语句。本系统执行删除语句一条比较函数。即:
if(strcmp(p->name,str)==0)break;使用链表的实行地址转换,以便执行查找人名的功能:
if(p2)
p1->next=p2->next;
free(p2);<释放内存区,使该区被其他变量使用*>
print (“n**请存盘**”);
getchar();
elseprintf(“没找到所须删除员工”);
getchar();流程图:
yny4) search()系统将对您指定的信息进行查找。主要使用“strcmp()”getchar()”等语句。该系统主要运行过程为:
若头指针不为空,则利用比较函数if(strcmp(p1->name,nsme)= 0)如果该语句成立,证明输入的信息已被查询到,如果语句(p1==null)成立,表示您查找的人不是本公司员工,按任意键可回到主程序执行区。(流程图在11页)
5) rfile()系统将显示您所要读取的信息。主要使用文件指针及“fopen”“fclose”语句。此模块我们系统的重要部分,相对来说较为复杂。
开始时要用到”mallo”函数来开辟空间(和模块‘1’中的原理相同),如果能打开目标文件,逐条读取,直到指针指向的下个地址为空,则表明读取完毕。执行此项功能的语句为:
elsewhile(fread(p,sizeof(worker),1,in)= 1)
”的循环嵌套;就完成了性别统计、公司人员规模、入公司时间的三项功能。值得一提的是在执行性别统计和公司人员规模的执行语句后加上2个”getchar()”本小组成员在借鉴的同时的提高,这是为了减缓程序运行速度,保证指针所指向的最后一个内容被系统执行,这才使两项功能完整的执行。(流程图在16页)
8)退出模块:系统将退出到dos环境。
yy六、使用说明。
初始化界面。
输入回车进入主菜单。
选择功能,(输入0--7)
录入功能。输入人事信息。
输入姓名,性别,城市,街道,**,邮编,年龄。入公司年份。
显示人事信息。
键入6并按回车键以后,保存录入信息,键入2并按回车,可以显示录入的人事信息。
查询功能。键入4,按回车后,就可以进行查询功能。
查询人事信息,需要输入查询人事的姓名。
删除功能。键入3并按回车,可以进行删除功能。一旦删除无法恢复,请审用。
删除人事记录。
结束程序,显示指导老师迟老师,设计者,课程名称,设计时间。
七、结束语
程序优点:本系统属于小型使用程序,适用于人事管理系统。使用灵活方便,本系统操作界面友好,有无计算机基础军可使用。能提高工作效率,节约时间,使烦琐的管理变得十分轻松。
程序的不足之处:
本程序虽然使用方便,但是并不十分完善,由于我们的能力和要求的范围有限,对具体细节的内容作的并不是很到位。我们并不能计算学生的借书时间等。设计之初我们也没有把文件这一重要组成部分写到程序里,使得本程序只能使用一次。
经过迟老师的细心指导我们才知道一个完整的程序是可以重复使用的并且及时添加了这一功能。由于时间有限,我们只能运用一些简单的函数进行编程本程序。以及对某些函数录入的限制还有待改进和完善。
收获: 成功之处:此系统程序虽然简单,却集结了基本的管理功能。删除,存储,统计等功能还是较为成功的。特别是人事档案的统计管理功能,使烦琐的工作变得简单轻松。
不足之处:由于我们水平和时间有限,难免有不足和差强人意的地方。尤其是对于系统应该配以保密性的设置,可是由于我们的知识积累不够,运行不了。还请迟老师海涵。
小结:我们只有两人组成的程序设计小组,利用课余时间别编写了这套人事管理系统。通过这次课程设计,我们团结合作,相互支持,充分发挥了团队精神,使我们所学的知识转化今天的成果。
当然,在程序设计的过程中,通过和其他专业同学交流,我们也深刻体会到自计算机水平的有限和不足,为了将我们和齐大其他专业学生以及其他高校学生的差距缩小,我们今后将会以200%的努力投入到学习中去,用汗水和知识衡量我们和成功间的差距!最后,感谢给予我们这次实践和创做机会的迟立颖老师 !!
C语言人事档案管理系统
作者 日期 include include include define n 10 struct worker char num 20 员工编号。char name 20 员工名称。char sex 员工性别 int age 员工年龄。char remark 20 员工备注。stu 10 void ...
人事档案管理系统
一。人事管理。1员工浏览。2 档案维护。3证照资料查询。4职称资料查询。二。人事异动。1.员工就职。2.员工调职。3.员工离职。4.员工复职。5.人事异动查询。三。培训管理。1.培训课程设置。2.培训记录设置。3.培训记录查询。四。奖惩管理。1.奖惩类别设置。2.奖惩记录的维护。3.奖惩记录查询。五...
人事档案管理系统设计
2008年8月。目录。1.系统目标与范围 3 1.1 系统目标 3 1.2 系统范围 3 2.系统需求分析 3 2.1现状描述 3 2.2现状分析 3 3.系统总体架构设计 4 3.1档案管理 4 3.1.1 功能描述 4 3.1.2 功能范围 5 3.2系统权限管理 8 3.2.1功能描述 8 3...