职工信息管理系统.doc_第1页
职工信息管理系统.doc_第2页
职工信息管理系统.doc_第3页
职工信息管理系统.doc_第4页
职工信息管理系统.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数学与计算机学院 课程设计说明书 课 程 名 称: 面向对象程序设计-课程设计 课 程 代 码: 8404101 题 目: 职工信息管理系统 年级/专业/班: 2006 级软件工程3 班 学 生 姓 名: 肖 兰 艳 学 号: 200609100317 开 始 时 间: 2008 年 6 月 12 日 完 成 时 间: 2008 年 6 月 26 日 课程设计成绩: 学习态度及平 时成绩(30) 技术水平与实际 能力(20) 创新(5) 说明书(计算书、图纸、分析 报告)撰写质量(45) 总 分 (100) 职工信息管理系统 指导教师签名: 年 月 日 目 录 1 1 引引 言言 1 1 1.1 问题的提出.1 1.2 国内外研究的现状.1 1.5 任务与分析 1 2 2 程序的主要功能程序的主要功能 2 2 2.1 添加功能.2 2.2 删除功能.2 2.3 录入职员信息 2 2.4 查找功能.2 2.5 修改功能.2 3 3 程序运行平台程序运行平台 3 3 4 4 总体设计总体设计 4 4 5 5 程序类的说明程序类的说明 5 5 6 6 模块分析模块分析 6 6 6.1 添加模块 6 6.2 显示模块 7 6.3 修改模块 8 6.4 查找模块 9 6.5 删除模块 .11 6.6 录入模块 .12 6.7 排序模块 .14 6.8 年龄分布模块 .15 6.9 文化分布模块 .15 6.10 平均分布模块 16 7 7 系统测试系统测试 1717 职工信息管理系统 8 8 结论结论 2121 参考文献参考文献.22 职工信息管理系统 摘摘 要要 在信息化时代,计算机已经进入了各行各业,同时也促进了各行各业的发展,因此, 像以前的手工操作已经不可取了。职工信息管理系统的计算机软件开发是势在必行,本 次课程设计主要是运用 C+来设计职工信息管理系统。C+是现今比较流行的软件开发 工具,它主要是面向对象的思想,简单易操作。 本次课程设计利用 Visual Studio 6.0 对职工信息管理系统进行软件开发。根据实际 要求,对于职工的管理,主要有以下几方面工作:职工年龄的分布、文化的分布情况和平 均工资、平均年龄以及平均工龄等,职工信息的查询、添加、删除和修改,以及浏览所有 职工信息。 为便于插入和删除数据,本次课程设计采用链表的形式建立职工信息,并且运用了两 种不同的查询方式,对职工信息进行查找. 关键词:关键词:职工信息管理系统;计算机;管理; -1- 职工信息管理系统 1 引引 言言 1.1 问题的提出问题的提出 在现代化的企业管理中,职工信息管理系统有着十分重要的作用,然而,用大型 软件系统来于小型的企事业单位,不啻于“杀鸡用牛刀” ,因此小型的的软件对于这种 单位自然有十分重要作用。某小型企业出与这种目的制作了这个职工信息管理系统。 1.2 国内外研究的现状国内外研究的现状 近几十年来社会化大生产的发展规模越来越大,综合性越来越强,生产专业化分 工越来越细,行业有部门之间的相互联系、相互依存和相互作用更不密切。组织管理 日趋复杂;而现代化科学技术也正以史无前例的速度不断分化,全方位地向高又立体 的微观、宏观方向进军。 随着电信技术和计算机技术的飞速发展,现代 MIS 从地域上划分已逐渐由局域范围 走向广域范围.从而,各个企业都面临着巨大的挑战和机遇.相对我国的信息化发展而言,国 外已经处于相对领先水平,ERP 的广泛应使职工信息管理系统更好的发挥其功能,更有效 的提高了企业的运作效率. 由此看出,信息管理现代化是管理现代化不可缺少的重要一 环,它是把现代化管理的理论、方法和手段运用到企业的各项工作中,使信息管理管 理达到最大限度地提高工作效率的目的,以适应社会和科学技术的发展。 目前,计算机在我国的信息管理工作中,主要可用来进行数据输入,档案管理, 数据统计,信息查询,综合分析。数据多而且杂,若利用手工进行统计,编辑,整理工作, 不仅繁琐,而且需要花费大量的人力,物力,财力等。 电子计算机作为数据处理系统,已逐渐成为职工信息管理现代化的重要工具,在 职工信息管理中正在发挥着重要的作用。在我国,已经开始运用电子计算机进行货物 流动数据管理,人员工资管理、人事统计和查询、干部考评和人事档案管理以及人才预 测和规划等。无纸化办公已经初具规模。 1.5 任务与分析任务与分析 本课题主要的目的是设计一个职工信息管理系统,实现对职工信息进行录入、添 加,删除、修改等功能。 -2- 职工信息管理系统 2 程序的主要功能 2.1 添加功能添加功能 添加一个职员的基本信息,包括职工号,姓名,性别,年龄,工资,家庭住址, 家庭电话号码,参加工作时间。 2.2 删除功能删除功能 能够对一个职员的信息进行删除按职工号进行删除。 2.3 录入职员信息录入职员信息 录入职工的所有信息。 2.4 查找功能查找功能 方式一:根据你键入的职工姓名,显示其详细信息! 方式二:根据你键入的职工学历,显示其详细信息! 2.5 修改功能修改功能 对职工的信息进行修改。 -3- 职工信息管理系统 3 程序运行平台 VC+6.0。 具体操作如下:启动 VC+6.0,单击 File 菜单中 New,单击 Project 标签,并选 择 Win32 Console Application,新建 sheji 工程;Finish 后进入 C+的源程序文件 “职工信息管理系统”建立,选择 C+ Source File,单击 OK 按钮,完成新建 C+院 程序文件;在文件编辑窗口中输入代码,选择菜单命令 File|Save 保存这个文件;选 择菜单命令 Build|Build 职工信息管理系统.Exe 建立可执行程序,运行可调试,选择 菜单命令 Build|Execute 职工信息管理系统.exe 即可在屏幕上显示内容;选择菜单命 令 FILE+Close Workspace 关闭工作空间。 -4- 职工信息管理系统 4 总体设计 主函数 录 入 信 息 添 加 信 息 删 除 信 息 修 改 信 息 浏 览 信 息 信 息 排 序 年 龄 分 布 文 化 分 布 平 均 分 布 查 询 信 息 图 4.1 系统总体框架图 -5- 职工信息管理系统 5 程序类的说明 /职工类声明职工类声明 class employee public: int employeeno;/职工号 string name;/姓名 string sex;/性别 int age;/年龄 int degree;/学历1:初中 2:高中 3:本科 4:硕士 5:博士 int pay;/工资 string address;/住址 int tel;/电话 int time;/参加工作时间 static int count; static int age_total; static int pay_total; employee *next; employee() employee() friend employee* create_form(); friend void save(employee *head); friend employee *add(employee *head); friend employee *del(employee *head); friend void search(employee *head); friend void age_sort(); friend void degree_sort(); friend void modify(employee *head); -6- 职工信息管理系统 friend void print(employee *head); friend void average(employee *head); friend void sort(employee *head); ; 6 6 模块分析模块分析 6.1 添加模块 系统将提示用户输入新添加的职员的信息,插入在链表中。 employee *add(employee*head) /添加职工信息 employee *ptr,*ptr2,*p1; char ch=a,ch1; while(ch!= ) p1=new employee; ptr=p1; coutp1-employeeno; coutp1-name; coutp1-sex; coutp1-age; coutp1-degree; coutp1-pay; coutp1-address; coutp1-tel; coutp1-time;/输入相关数据 p1-count+; if(head=NULL) head=ptr; head-next=NULL; else -7- 职工信息管理系统 for(ptr2=head;ptr2;ptr2=ptr2-next) if(ptr2-next=NULL) ptr2-next=p1; p1-next=NULL; break; couttime 输完后输入 的回车键会赋给 CH,因此用 CH1 填补。 ch=getchar(); return head; 图 6.1 添加程序流程图 6.2 显示模块 显示模块将输出所有职员的主要资料 。 void print(employee *head) employee *ptr; if(head=NULL) printf(“NO RECORDS!n“); return; coutnext) coutemployeenonamesexagedegreepayaddressteltimeno; if(p1-employeeno!=no) coutp1-employeeno; coutp1-name; coutp1-sex; coutp1-age; coutp1-degree; coutp1-pay; coutp1-address; coutp1-tel; coutp1-time;/输入相关数据 -9- 职工信息管理系统 图 6.2 修改流程图 6.4 查找模块 首先由用户选择查找方式:1、输入要查找的职工工资 2、输入要查找的职工的学 历。然后系统用查找函数查找,然后系统就调用输出函数,输出所查找的职员资料。 void search(employee *head) int a,edegree; int t=1; int epay; char ch=a,ch1; employee *ptr; while(ch!= ) couta; switch(a) /按工资查询 case 1:coutepay; for(ptr=head;ptr;ptr=ptr-next) Cinno p1-employeeno=no 输入新的信息 退出退出 -10- 职工信息管理系统 if(epay=ptr-pay) coutemployeenonamesexagedegreepayaddressteltimeedegree; for(ptr=head;ptr;ptr=ptr-next) if(ptr-degree=edegree) coutemployeenonamesexagedegreepayaddressteltimeno; if(head-employeeno=no) p2=head; Ch=a Ch= Cina 按工资查找 输出信息 按学历查找 输出信息 退出 -12- 职工信息管理系统 head=head-next; p2-count-; delete p2; if(head=NULL) return NULL; p1=head; p2=head-next; while(p2) if(p2-employeeno=no) p1-next=p2-next; p1-count-; p1-age_total-=p2-age; p1-pay_total-=p2-pay; delete p2; else p1=p2; p2=p1-next; printf(“继续删除请按回车,结束请按空格:n“); ch1=getchar();/将回车键赋给 CH1,否则 employeeno 输完后再输入 的回车键会赋给 CH,因此用 CH1 填补。 ch=getchar(); return head; 6.6 录入模块 系统将会把所有职员的资料全部录入,将链表建起。 employee*create_form() employee *head=NULL; employee *pend,*p; -13- 职工信息管理系统 coutp-name; coutp-sex; coutp-age; coutp-degree; coutp-pay; coutp-address; coutp-tel; coutp-time; coutp-employeeno;/输入相关数据 pend=p; while(p-employeeno!=0) if(head=NULL)head=p; else pend-next=p; pend=p; p=new employee; coutp-name; coutp-sex; coutp-age; coutp-degree; coutp-pay; coutp-address; coutp-tel; coutp-time; coutp-employeeno;/输入相关数据 if(p-employeeno=0)break; p-count+; -14- 职工信息管理系统 pend-next=NULL; return head; 6.7 排序模块 系统将会把所有职员的资料按工资升序排列,并输出结果。 void sort(employee *head)/排序 employee e; employee s16; employee *p=head; if(p=0)|(p-next=0)/此步条件判断非常有价值。 coutcount;p=p-next,i+) si.employeeno=p-employeeno; =p-name; si.sex=p-sex; si.age=p-age; si.pay=p-pay; si.degree=p-degree; si.address=p-address; si.tel=p-tel; si.time=p-time; for( i=0;icount-1;i+) for(int j=0;jcount-1-i;j+) if(sj.paysj+1.pay) e=sj; sj=sj+1; sj+1=e; -15- 职工信息管理系统 coutcount;i+) coutnext) if(p-age18 if(a-degree=2) j+; if(a-degree=3) k+; if(a-degree=4) l+; -16- 职工信息管理系统 if(a-degree=5) m+; coutcountnext) p1-age_total+=p1-age; p1-pay_total+=p1-pay; sum+=nowtime-p1-time; i=p1-age_total/(p1-count); j=p1-pay_total/(p1-count); l=sum/(p1-count); cout“平均年龄为:“iendl; cout“平均工资为:“jendl; cout“平均工龄为:“lendl; -17- 职工信息管理系统 7 系统测试 首先进入 VC+6.0,打开工程 employee.dsw,然后进入源程序,接着选择 Build 下的 Execute employee.exe 即可,也可以不打开工程,直接双击 employee 文件夹下的 debug 或 release 子文件夹下的 employee.exe 文件即可运行程序。 职工号 姓名 性别 年龄 学历 工资 住址 电话 参加工作时间 测试数据:1001 lili f 21 3 2000 1street 123 2001 1002 jack m 33 4 3000 2street 456 1997 1003 lucy f 20 2 1500 3street 789 2003 图 7.1 职工信息的录入 通过建立链表,成功地实现了职工信息的输入。 图 7.2 添加职工信息 -18- 职工信息管理系统 由于信息是由链表生成,所以便于信息的插入和删除。 图 7.3 删除职工信息 图 7.4 查找职工信息 在查找信息的时候,采用了两种方式,并且完成了该功能。 -19- 职工信息管理系统 图 7.5 修改职工信息 图 7.6 年龄分布 图 7.7 文化分布 -20- 职工信息管理系统 图 7.8 平均分布 图 7.9 浏览信息 图 7.10 排序 将链表中各个结点装入已有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论