收藏 分享(赏)

C++职工信息管理系统课程设计.doc

上传人:精品资料 文档编号:8440066 上传时间:2019-06-27 格式:DOC 页数:33 大小:368.02KB
下载 相关 举报
C++职工信息管理系统课程设计.doc_第1页
第1页 / 共33页
C++职工信息管理系统课程设计.doc_第2页
第2页 / 共33页
C++职工信息管理系统课程设计.doc_第3页
第3页 / 共33页
C++职工信息管理系统课程设计.doc_第4页
第4页 / 共33页
C++职工信息管理系统课程设计.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、*实践教学* 江西理工大学软件学院2012 年春季学期C+语言程序设计 课程设计(第四组)题 目: 职工信息管理系统专业班级:_ 姓 名:_ 学 号: 112121 指导教师: 吉宝玉 成 绩:_ 2012 年 6 月 25 日目录摘 要 0前 言 0正 文 01.系统功能分析 02. 系统总体设计 03.详细设计 04.系统测试 05.软件使用说明书 0设计总结 0参考文献 0致 谢 0附录:原程序代码 0摘要随着经济的高速发展,一个好的职工信息管理程序在企业及用人单位扮演着重要的角色,为了设计一个功能强大的职工信息管理系统,在设计中我们做出了明细分工,目的是要让本组成员都从这次课程设计中学

2、到编程经验与团队精神。 “职工信息管理系统” ,系统以菜单方式工作,编写存放有职工基本信息,包含职工工号,姓名,性别,出生年月,学历,职务,工资,住址,电话等,并且要求录入职工号不重复;录入的职工号信息要求用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作,建立职工信息管理的文件。关键词:职工信息管理;文件;浏览;查询;修改。前言随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展要高效率的把内部活动有机的组织起来,就必须建立自身特点相适应的管理信息系统。本组设计的是一个关于职工信息管理的数

3、据库系统,通过这个系统,管理员可以简捷方便的对职工信息进行增加、删除、修改等功能,而用户也可以通过这个系统对职工信息进行查询等功能。在日益发展的现代社会,一个高效实用的职工信息管理系统已经是企业必不可少的一个管理工具,它可以使企业在管理方面减少很多时间,本课程设计针对现代社会企业对员工信息的管理而设计, 使员工的管理更加的简捷,更加的方便,界面友好,易于操作。采用的的开发环境是 visual stdio 2008.在设计中,我们放弃的传统的面对过程的结构化设计思想,因为面向过程的结构体的或链表的方法存储每个员工的静态属性:编号、姓名、性别、年龄、电话、工资等数据有很多的不方便也有很多的不安全,

4、所以我们采用 C+的对象的编程思想来把每个员工的数据封装成一个人员的对象。使得操作的方式更加的合理,安全。也使本组课程设计的成员更加的了解面向对象程序设计的解决问题的思维方式。正文一系统功能分析该职工管理系统针对员工信息数据的处理设计了以下功能:1. 添加职工信息添加员工信息,提供员工信息的添加,在该模块中设计了安全检查机制,即确认是否添加员工的信息,若对员工信息的添加不满意,则可以选择重新输入。还设置有返回主菜单的选项以方便用户。2. 修改职工信息 修改员工信息设置了员工人数检查,果员工人数 NUM 的值为 0,则返回主菜单。如果员工人数 NUM 不为 0,则进入删除员工信息的界面。修改员工

5、信息板块功能强大,界面友好,用循环控制修改某员工属性,这样使得操作极为方便。3. 删除职工信息删除员工信息中设计了对员工人数的检查,如果员工人数 NUM 的值为0,则返回到主菜单。如果员工人数 NUM 不为 0,则进入删除员工信息的界面。界面包括员工信息列表,和删除选项,方便用户的操作。4. 员工职工查找通过 find()函数进行查找。该函数比较简单,通过循环一次比较 Pern.num 是否与你输入的 num 是否相等,如果相等,则输入到屏幕上,如果未找到任何匹配的员工,则显示“未找该员工” 。5. 保存职工信息保存员工的信息,即为将当前所有的员工的信息存入到 workerlist.txt 中

6、。这里我们采用的是 C+的 ofstream 的写入文件的对象进行控制。6. 职工信息的排序 对员工信息进行排序,包括按员工编号排序(从小到大) ,按员工工资进行排序(从高到低) 。其中也设置了员工人数检查机制,即:如果员工的人数为0,则直接返回主菜单。7. 职工信息的显示 对职工信息进行显示,包括职工的工号,姓名,年龄,学历,工资地址,电话等信息。方便对员工了解。2. 系统总体设计1,编写要求:1) 先声明职工人员结构,该结构中包含编号、姓名、出生年月、性别,职称,部门,基本工资等成员变量,并定义人员结构数组;2) 编写主函数,要求提供一界面,允许工作人员输入、修改和删除员工信息;3) 将员

7、工信息分别按编号由小到大、基本工资由大到小的顺序进行显示,要求采用不同的排序算法;4) 给出某员工编号,可对该员工信息进行查找,若找到,显示相应信息,否则显示“该员工不存在” ,要求用顺序查找和二分查找法进行查找;5) 将所有职工信息保存在磁盘上。界面:* * 员工管理系统 * - * * 1. 职工信息输入 * * 2. 职工信息修改 * * 3. 职工信息删除 * * 4. 职工信息查找 * * 5. 职工信息保存 * * 6. 职工工资排行 * 7. 职工信息显示 * 0. 退出 * *2,编写目的:完成题目所要求的全部功能,并加入本组自己的设计风格,在界面友好的基础上,增加一些附加功能

8、,使得功能更为强大,最终得到一个可靠性高,易于操作的职工信息管理的系统。3,功能划分该系统可以按功能进行模块划分,如图系统模块图其中:(1) 主菜单模块完成用户命令的接受,此模块也是职工信息管理的入口,用户所要进行的各种操作均需在此模块中进行选择,并进而调用其他模块实现相应的功能。(2) 信息添加模块完成职工信息的输入功能,输入信息包括职工号、姓名、性别,出生年月、学历、职务、工资、住址、电话等。(3) 信息显示模块完成已录入职工信息的显示。(4) 信息查询模块完成职工信息的查询,查询时对应有按编号查询和按姓名查询两种方式。(5) 信息修改模块完成职工信息的修改功能。(6) 信息删除功能模块完

9、成职工信息的删除功能。(7) 信息排序模块完成对职工信息的排序,排序内容包括工号,工资等。(8) 信息保存模块完成对职工信息的保存。主菜单添加职工信息修改职工信息职工删除信息职工信息查询职工信息排序保存员工信息Switch()退出While()开始 main()读取数据4.数据结构本系统中主要的数据结构就是职工的信息,包含职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等,在处理过程中各项可以作为一个职工的不同属性来进行处理。5.程序流程系统的执行应从功能菜单选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如图所示

10、:开始菜单选择输入?浏览?查询?修改?否否删除?信息输入 信息浏览 信息查询 信息修改信息删除是 是 是 是 是结束否否否UML 图Class_cout:string_num:string_workerlist:string+add:void+dele:void+modify:void+save:void+search:void+showworker:void+sort:void+workerlist:void3详细设计(编码实现)小组模块分工(本人负责:职工信息修改模块与保存模块)void WorkerList:modify()/职工信息修改函数实现if(NUMnum1;int j=0,k;

11、int flag=1;while(flag)for(;jnum1;couti3;while(i38)couti3;switch(i3)case 1:coutwk.num;coutwk.name;coutwk.sex;coutwk.edu;coutwk.age;coutwk.salary;coutwk.address;coutwk.tel;cout#include“string“#include#include #include #define N 100/N作为最大职工总数int f=0;/f作为开关using namespace std;string p;/p作为接收菜单选项的字符串void

12、 menu();/显示菜单class workerpublic:worker() void show();/职工信息显示worker()friend class WorkerList;private:string num,name,sex,edu,address,tel;int age,salary;class WorkerListprivate:worker wN;int NUM;/用来计算职工数目int count;/用来暂时记录当前操作第几个职工public:void add();/职工信息录入void sort();/职工信息排序void search();/职工信息查找void de

13、le();/职工信息删除void modify();/职工信息修改void save();/职工信息以文件形式保存void showworker();/显示职工信息在屏幕上WorkerList()NUM=0;count=0;void menu()couti1;while(!(i1=0switch(i1)case 1:wl.add();break;case 2:wl.modify();break;case 3:wl.dele();break;case 4:wl.sort();break;case 5:wl.search();break;case 7:wl.save();break;case 6:

14、wl.showworker();break;case 0:coutp;if(p=“n“|p=“N“) coutnum;for(int i=0;inum;wNUM.num=num;cinwNUM.namewNUM.sexwNUM.eduwNUM.agewNUM.salarywNUM.addresswNUM.tel;+NUM;count=NUM;void worker:show()/显示职工信息函数实现coutnum1;int j=0,k;int flag=1;while(flag)for(;jnum1;couti3;while(i38)couti3;switch(i3)case 1:coutwk

15、.num;coutwk.name;coutwk.sex;coutwk.edu;coutwk.age;coutwk.salary;coutwk.address;coutwk.tel;coutp;while(1)if(p=“y“|p=“Y“)menu();else if(p=“n“|p=“N“)coutp;*/void WorkerList:search()if(NUMi4;while(i44)couti4;if(i4=1)string num2;coutnum2;int j=0,k;int flag=1;while(flag)for(;jname2;int j2=0,k2;int flag2=1

16、;while(flag2)for(;j2salary2;int j3=0,k3;int flag3=1;while(flag3)for(;j3edu2;int j4=0,k4;int flag4=1;while(flag4)for(;j4i5;while(i56)couti5;if(i5=1)for(int i=0;iwj+1.num)string temp;temp=wj.num;wj.num=wj+1.num;wj+1.num=temp;coutwj+1.name)string temp;temp=wj.name;wj.name=wj+1.name;wj+1.name=temp;coutwj+1.salary)int temp;temp=wj.salary;wj.salary=wj+1.salary;wj+1.salary=temp;coutnum3;int j=0,k;int flag=1;while(flag)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报