ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:480.05KB ,
资源ID:24308796      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24308796.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(职工信息管理系统.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

职工信息管理系统.docx

1、职工信息管理系统3长江工商学院计算机科学与技术系,C语言程序设计课程设计项目名称: 职工信息管理系统 学生姓名: 坤 学 号: 13401005 班 级: 13级计科本1 指导教师: 莹 2014年05月22日1 引言1.1 选题意义常言道,百丈之台起于垒土,千里之行始于足下,万丈高楼平地起,无论职位高低,每个员工都有着自己独特的对集体的贡献。职工信息管理系统的建成,对员工信息的收集,整理,梳拢等等都有着促进作用。当今社会,是信息社会,谁能掌握第一手信息,从繁冗的信息库中发现闪光点,在事业的奋斗历程中,就能先于别人立于不败之地。使用者有了这个系统,对员工信息的掌握也就了如指掌,到,稳固,细致,

2、有条理,这个对于一个庞大的集体的管理统治更加能发挥突出性的作用。1.2 国外现状综述职工信息管理系统是各大企业团体的主要日常管理工作之一,涉及到职工升迁去向,任职岗位,素质评价,以及团队实力,企业规划,工资待遇等等诸多面的问题,随着社会经济发展,制度的不断改革,日常管理工作及保存管理日趋繁重、复杂。迫切需要研制开发一款功能强大,操作简单,简洁明了的职工管理系统。 在国外与国不同,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。而国企业信息化建设相对起步较晚,经济发展比较落后。在数字化信息时代,各,地区一面不断投资购建各种硬件、系统软件和网络,另一面也不断开发实施了各类教学、科研、办公

3、管理等应用系统,形成了一定规模的信息化建设体系。但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国管理系统在机构设置、服务围、服务质量及人员要求上与国外高校相比都有一定的差距。 纵观目前国研究现状,在安全性和信息更新化面存在有一定的不足,我国信息化网络平台监管力度不强,信息的保护措施也乏善可,因此构建安全有效的职工信息管理系统是我们努力的一大向。2 系统需求分析2.1 系统功能概述(基本实现哪些功能,文字描述)该职工信息管理系统可以满足用户进行一千人以的任意的职工信息录入;特定要求的查找,按编号,学历,进行查找;整体信息的浏览;员工信息的删除和修改等等操作,并配以文件及时保存

4、数据,如下图2-1所示:图2-1系统功能模块图2.2 系统模块进入主函数调用菜单函数。打印提示信息里面有5个功能供其选择:菜单1:信息录入功模式,输入选项一进入该功能,根据系统提示输入包括“name,sex,age,salary,education,address,phone,number”等八大类数据,隐含限制人数输入1000人,输入户到末尾有提示信息可以跳出录入环节;菜单2:为员工信息浏览模式,当用户输2选项时,系统自动把文件中的数据调入存在输出到显示器上。供用户浏览。此功能较为简便,故在此不予以特别阐述;菜单3:为员工信息查询模式,当用户选择3后可以根据自己的需要选择(1.按编号查询;2

5、.按学历查询3.按查询0.退出查询模式);菜单4:员工信息删除模式,删除模式之下有三个选项(1.按编号删除;2.按姓名删除0.退出删除模式);当初入查询信息后,系统会根据查询信息结果可能反馈三类提示(“1,找到对应的数据,进行下一步操作;2。未找到相匹配的信息,进行提示操作3。数据库为空);菜单5:职工信息修改模式,用户在主菜单里里面可选择此功能,菜单0:用户选择此操作后结束程序运行。3 系统存储结构说明3.1 系统存储信息说明该系统随机存储以人为单位的员工编号,姓名,年龄,性别,学历,工资,地址等信息:其中员工编号随机生成,为长整型数据;姓名,学历,地址等均为字符串型数据,由用户输入;性别为

6、单个字符,男性用M 表示,女性用W表示,用户输入;年龄和工资均为普通整型数据,用户输入。3.2 系统存储结构设计在设计系统时定义了一组囊括1000人的结构体变量struct worker-information【1000】,其中,每个结构体变量之中又定义long int型 number;char name,sex,,education,phone,address;int salary, age用以保存一个人的不同信息数据。因为C语言中只能定义同一类型数据的集合,但事实上生活中所接触到的数据多种多样,其中各自之间又有着这样或那样的联系,因此,编程人员才特意开发出结构体型变量,用以储存多种不同类型

7、却又有关联的数据。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(职工信息

8、管理系统.dat,rb)=NULL) return 0; do fread(p,sizeof(struct worker_information),1,fp); p+; while(feof(fp)=0);while(*p1).number0) p1+; fclose(fp);return 0; 4 系统功能实现及代码描述4.1 录入职工信息模式首先是进入input函数,依次输入姓名,年龄,性别.等等,随后会显示一个提示窗口“结束输入请按“#”,此时如果不按#,则会重复调用input函数自身,进入下一位职工信息的录入,否则就会结束input函数的调用,跳出循环。流程图如图4-1所示:图4-1

9、录用职工信息4.2 浏览全体职工信息在main()主函数菜单之下调用Output 函数,输出已录入现存的职工数据,此功能较为简便,故在此不予以特别概述。流程图如图4-2所示:图4-2 浏览职工信息4.3 查询职工信息模式主函数之下调用search函数进入查询,该功能之下又衍生出三个分支1.按编号查询;2.按学历查询;3.按查询;凡此三类。查询开始时,先输入所要查询的数据当输入查询信息找到与其相匹配的数据时,输出相应职工信息跳会search()主函数,否则显示“您所查询的用户数据不存在”。流程图4-3如下:图4-3 职工信息按编号删除4.4 删除职工信息主函数之下调用delete函数进入删除页面

10、,该功能之下又衍生出2个分支:1.按编号删除;2.按姓名删除;3.退出删除模式;凡此三类。开始时,先输入所要删除的员工的相应数据,当输入查询信息找到与其相匹配的数据时,执行循环结构从该职工的后一位开始,以叠罗汉的形式从后往前覆盖,否则显示“input error ,please try again”,最后都会返回删除主界面之下。流程图4-4如下:图4-4 删除职工信息4.5 修改职工信息模式该功能运用与删除功能类似,主函数之下调用correct函数进入修改页面,该功能之下只能按职工编号修改,开始时,先输入所要删除的员工的相应数据,当输入查询信息找到与其相匹配的数据时,执行循环结构从该职工的后一

11、位开始,以叠罗汉的形式从后往前覆盖,否则显示“input error ,please try again”,最后都会返回删除主界面之下。图4-5修改职工信息5系统测试5.1 职工信息录入模式首先是进入input函数,依次输入姓名,年龄,性别.等等,随后会显示一个提示窗口“结束输入请按“#”,此时如果不按#,则会重复调用input函数自身,进入下一位职工信息的录入,否则就会结束input函数的调用,跳出循环。程序图5-1所示:图5-1 录入职工信息5.2 职工信息浏览模式:在main()主函数菜单之下调用Output 函数,输出已录入现存的职工数据(职工数据不得大于1000人份),此功能较为简便

12、,故在此不予以特别概述。程序功能如图5-2所示:图5-2 浏览职工信息5.3 职工信息查询模式主函数之下调用search函数进入查询,该功能之下又衍生出三个分支:1.按编号查询;2.按学历查询;3.按查询;凡此三类。查询开始时,先输入所要查询的数据当输入查询信息找到与其相匹配的数据时,输出相应职工信息跳会search()主函数,否则显示“您所查询的用户数据不存在”。程序图5-3所示:图5-3 查询职工信息5.4 职工信息删除模式主函数之下调用delete函数进入删除页面,该功能之下又衍生出2个分支:1.按编号删除;2.按姓名删除;3.退出删除模式;凡此三类。开始时,先输入所要删除的员工的相应数

13、据,当输入查询信息找到与其相匹配的数据时,执行循环结构从该职工的后一位开始,以叠罗汉的形式从后往前覆盖,否则显示“input error ,please try again”,最后都会返回删除主界面之下。程序图5-4所示:图5-4 删除职工信息5.5 职工信息修改模式该功能运用与删除功能类似,主函数之下调用correct函数进入修改页面,该功能之下只能按职工编号修改,开始时,先输入所要删除的员工的相应数据,当输入查询信息找到与其相匹配的数据时,执行循环结构从该职工的后一位开始,以叠罗汉的形式从后往前覆盖,否则显示“input error ,please try again”,最后都会返回删除主

14、界面之下。程序图如图5-5所示:图5-5 修改职工信息6体会这次的课程设计,准确来说,难度一般,只不过要想办法讲函数各功能之间衔接恰当,就不是那么简单了;再者数据输入时的缓冲溢出问题,要么只能用getchar(),要么就用fflush(stdin)来实现清理缓冲区的功能,始终未能找到一个更妥帖的办法;其次,文件的读写格式,以及文件的运用,使用起来要注意的细节太多,并且形式僵硬,容易出错,限制太多;最后,就是论文的完成,说实话,真是没有话好说,基本是黔驴技穷,还有就是流程图,真是难画。参考文献1谭浩强.C语言程序设计M. 第四版.北京:清华大学出版社 20102谭浩强.C语言程序设计学习辅导.

15、第四版.北京清华大学出版社 20103钦铭,颜晖.C语言程序设计M.第二版.北京高等教育出版社 20124颜晖,柳俊.C语言程序设计习题与实验指导M. 北京高等教育出版社 20125开成.白话C语言M.北京电子工业出版社,20106路明.C语言程序设计M.第二版.北京:北京邮电大学出版社,20077路明.C语言程序设计上机指导与习题选解M.第二版.北京北京邮电大学出版 20078永福.C语言程序设计M.:大学出版社,2007附录:源程序清单#include#include#include#includestruct worker_information long number; char na

16、me10; char sex; int age; char education9; int salary; char address16; char phone12;#define M 1000struct worker_information *p1;void print1(struct worker_information *);void print2(struct worker_information *);void main()char menu();void input_information(struct worker_information *);void output_info

17、rmation(struct worker_information *);int search_information(struct worker_information *);int delete_information(struct worker_information *);int correct_information(struct worker_information *);void reserve(struct worker_information *);int load(struct worker_information *);struct worker_information

18、informM,*p=inform;p1=inform;load(p);char x;while(x=menu() switch(x) case 1: input_information(p1); reserve(p); printf(信息录入完毕n); break; case 2: printf(您正在进行职工信息浏览:n); output_information(p); break; case 3: search_information(p); break; case 4: printf(您正在进行职工信息删除:n); delete_information(p); reserve(p);

19、break; case 5: printf(您正在进行职工信息修改:n); correct_information(p); reserve(p); break; case 6: printf(确认要格式化全部数据y/n?: ); scanf(%c,&x); getchar(); if(x=y|x=Y) p1=p; reserve(p); printf(格式化成功,使用.n); break; case 0: exit(0); default: printf(input error,please try again and later.n); system(pause); system(cls);

20、 printf(thanks for your using ,bye-byen);char menu() /*菜单选项*/ printf(n 职工信息管理系统:n); printf(*t 莫 不n); printf(*t1.职工信息录入模式 *t 失 离n); printf(*t2.职工信息浏览模式 *t 莫 不n); printf(*t3.职工信息查询模式 *t 忘 弃n); printf(*t4.职工信息删除模式 *n); printf(*t5.职工信息修改模式 *t 仙 芳n); printf(*t6.格式化磁盘数据 *t 寿 龄n); printf(*t0.退出系统 *t 恒 永n);

21、 printf(*t 昌 继nn); printf(请输入您的选择); char ch; fflush(stdin); scanf(%c,&ch); return ch;void input_information (struct worker_information *p)/职工信息录入模式/ printf(您正在进行职工信息录入环节:n); srand(unsigned(time(NULL); p-number=rand()%1000+2011000; printf(请输入职工号为%d的职工个人信息:n,p-number); printf(请输入职工姓名: ); scanf(%s,p-na

22、me); printf(请输入职工年龄: ); scanf(%d,&p-age); getchar(); printf(请输入职工性别女,M-男: ); scanf(%c,&p-sex); printf(请输入职工学历: ); scanf(%s,p-education); getchar(); printf(请输入职工薪水: ); scanf(%d,&p-salary); printf(请输入职工地址:); scanf(%s,p-address); printf(请输入:); scanf(%s,p-phone); getchar(); p+; p1+; printf(按#号键回车后终止:);

23、if(getchar()!=#) system(cls); input_information(p); void output_information(struct worker_information *p)/职工信息浏览模式/ printf(_n); print1(p); int i=0; while(pp1) print2(p); p+; i+; if(p=p1) printf(信息在录者共计%d人.n,i); putchar(10); if(p1=p&i=0) printf(nothing at all,please addedn);int search_information(str

24、uct worker_information *p)/职工信息查询模式/ int search_information1(struct worker_information *,long ); int search_information2(struct worker_information *,char a ); int search_information3(struct worker_information *,char a ); if(p=p1)printf(数据库空白,该功能暂无法执行,请添加数据.n); return 0;char i,a11;int x; do output_in

25、formation(p); printf(您正在进行职工信息查询:n); printf(%8d.按职工编号查询.%8d.按职工学历查询.n%8d.按查询.%8d.退出当前页面.n,1,2,3,0); printf(请输入您的选择:); getchar(); scanf(%c,&i); getchar(); switch(i) case 1: printf(please input the workers number : ); scanf(%d,&x); search_information1(p,x); break; case 2: printf(please input the worke

26、rs education: ); scanf(%s,a); search_information2(p,a); break; case 3: printf(please input the workers phone number: ); scanf(%s,a); search_information3(p,a); break; case 0: break; default: printf(input error,try again please :n); break; if(i!=0) system(pause); system(cls); while(i!=0); return 0;int

27、 search_information1(struct worker_information *p,long i)/职工信息按编号查询/ for(int x=0,n=0;pnumber) if(n=0) printf(the result is :n); print1(p); n+; print2(p); if(p=p1&n!=0) printf(找到适配信息者%d人.n,n); if(n=0) printf(Failed to find a match with ,please try againn); return n;int search_information2(struct work

28、er_information *p,char i)/职工信息按学历查询/ for(int n=0;peducation)=0) if(n=0) printf(the result is :n); print1(p); n+; print2(p); if(p=p1&n!=0) printf(找到适配信息者%d人.n,n); if(n=0) printf(Failed to find a match with ,please try againn); return n;int search_information3(struct worker_information *p,char i)/职工信息按查询/ for(int n=0;pphone)=0) if(n=0) printf(the result is :n); print1(p); n+; print2(p);

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

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