




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、*实践教学*兰州理工大学计算机与通信学院2011年秋季学期面向对象课程设计题 目:员工培训管理系统的设计与实现专业班级: 10级计算机科学与技术4班 姓 名: 王 帅 学 号: 指导教师: 朱红蕾 成 绩: 目 录摘要. .2前言.31. 系统总体设计42. 程序说明43. 函数调用关系图.54. 调试分析及测试结果.65. 主要参考文献.116. 设计总结.12致谢.13摘要 随着人类社会的发展,要求每个紧跟时代的人都要不断的进行自我提高。因此,学习与再学习始终伴随着我们,其中有关的培训机构有着为可替代的作用,在这种形势下,如何更好的对培训工作进行管理,就成了我们需要解决的一个问题,因此,开
2、发一套完善的培训管理系统就成不可少了,本文介绍了在Visual C+6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发本系统的详细过程,从软件的角度进行了科学而严谨的阐述。关键词:C+面向对象 信息管理 培训班管理 前言员工培训管理信息系统广泛应用于各类大、中、小型企业。随着全球化市场竞争的加剧和商业运作快速反映的要求,必须学习更快速有效地利用知识参与竞争。因此,很多企业开始将自身知识转化能力的增长看作是迎接竞争的一项重要生产力。企业的不断的学习能够帮助企业更快地适应市场环境的飞速变化,调整分配企业组织的人力资源分布,形成高效的企业组织单元,更好地完成企业运作任务。培训已经成
3、为企业现代化的重要标志。员工培训管理系统就是为能更方便的和高效的管理企业员工课程学习的计划而开发的。其主要目的就是充分利用现有的电脑的较高的效率和准确性以及友好的应用界面来达到预期的对员工培训事务管理。一个员工管理信息系统应该提供包括系统基础信息设置、计划制定、培训评价、员工信息查询等4部分的内容。1. 系统总体设计由于本系统是在校期间的课程设计,需求的理解信息来源仅仅是参考各类人事管理书籍和网络信息得来的,也具有一定的正确性和使用性,具体理解如下:l 先是登录系统,根据用户的输入判断用户的合法身份,合法身份的用户应包括员工、普通管理员、系统管理员,其中系统管理员拥有所有权限,普通管理员没有用
4、户管理权限,员工只有查看信息的权限。l 进入员工信息管理界面可以进行员工信息的修改、添加、删除。l 进入教师信息界面可以进行教师信息的修改、添加、删除。l 进入用户信息管理界面可以进行用户信息的修改、添加、删除。l 进入员工培训计划管理界面可以进行员工培训计划的制定,包括添加课程、删除课程、修改计划等操作。l 培训成绩管理包括,成绩的录入、修改、删除等。l 培训评价辅助功能,包括成绩总汇,统计,和图表统计功能。l 员工培训计划的安排和成绩的查看功能。2 程序说明本系统的角色是员工、普通管理员和系统管理员。其中普通管理员由各级管理者担任,而系统管理员是由一名精通系统维护的员工担任,虽然系统管理员
5、也是一名与员工,但是并不会影响系统的功能。系统的用例包括:l 用户信息管理用例.l 员工信息管理用例l 教师信息管理用例l 课程信息管理用例l 部门信息管理用例l 员工培训计划制定与维护用例l 培训成绩管理与培训效果分析用例员工培训安排与成绩查询用例3 函数的调用关系图4 调试分析及测试结果1. 初始界面进入系统,按任意键继续2. 菜单界面选择你所要查询的信息,若查询员工信息,则出现下图3. 员工信息管理输入你所查询的项目,如1,则会显示员工的成绩,和成绩区间4. 培训课程管理若选择2,输入员工的工号,会出现你想要查询的员工号码等基本信息。5. 员工信息管理对公司员工的信息进行基本管理6.员工
6、成绩管理选择4,对员工信息进行基本管理,包括删除等功能。7.修改员工信息选择5.对所选中的员工信息进行修改8.查询员工信息选择6.对员工所在培训班的信息进行查询9.培训班管理对员工所在培训班进行查询10.退出系统最后退出系统5 主要参考文献1初小璐完全掌握SQL Server 2000 M 机械工业出版社,20042Jeraod V.Post.数据库管理系统(英文版.第三版)美清华大学出版社,2006.13张海藩.软件工程导论M.北京:清华大学出版社,1998.14谢希仁.计算机网络(第二版)M.北京:电子工业出版社,2003.6 5戴志诚,赵国峰.JSP信息化系统建设案例M.北京:人民邮电出
7、版社,2006.126成晓静,毕靖.网页设计三剑客完全学习手册M.北京:中国电力出版社,2004.117赵强.精通JSP编程M.北京:电子工业出版社,2006.38萨师煊,王珊.数据库系统概论M.北京:高等教育出版社,2002.29张海藩,李劲,谢兆阳.SQL Server2000数据库设计与系统管理M.北京:清华大学出版社,2000.910刘禾,蔡锋.Web数据库假设技巧M.北京:科技技术出版社,1999.411徐建波. Internet与Web设计教程M.北京:中国矿业大学出版社,2000.1212于书举,许向众.数据库设计与开发教程M.北京:电子工业出版社,2003.1113安海忠,李文
8、斌,林旭新.商业网站建设与管理M.北京:人民交通出版社,2006.814T.Umeda and S.Hagiwara.web-based database for EPR centers in semiconductorsJ.BPhysica B:Condensed Matter,3(7),249-252,2006.315Yih-Ling Hedley,Muhammad Younas.Sampling,information extraction and summarisation of Hidden Web databasesJ.Data & Knowledge Engineering,In
9、 Press,Uncorrected Proof,Available online 10 March 2006.26 设计总结这次课程设计所设计的员工培训管理系统(CEMS)是一个小型的人事信息管理系统,该系统实现了职工信息的添加、删除、修改、显示、查询等功能,并且运用了文件操作技术,可以实现数据的永久性保存。通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。安排课程设计的基本目的,在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟。尤其是观察、分析和解决问题的实际工作能力,以便培养成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。作为整个学习体系的有机组成
10、部分,课程设计虽然安排在两周进行,但并不具有绝对独立的意义。它的一个重要功能,在于运用学习成果,检验学习成果。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。对我们计算机专业的本科生来说,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。这也是一次预演和准备毕业设计工作。通过课程设计,让我们找出自身状况与实际需要的差距,并在以
11、后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。课程设计促进了我系人才培养计划的完善和课程设置的调整。近年来,我系为适应学生的实践需要陆续增设与调整了一系列课程,受到同学的欢迎,其中这次的设计很受同学们的喜欢。课程设计达到了专业学习的预期目的。在一个星期的课程设计之后,我们普遍感到不仅实际动手能力有所提高,更重要的是通过对软件开发流程的了解,进一步激发了我们对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习致 谢在这次课程设计中,非常感谢朱老师和年老师在理论和实践方面的指导,同时还要感谢热心与我讨论技术实现方法,给
12、我提供帮助的同学。在这里,对所有这些人都表示感激,谢谢!附录:源代码:/公司员工培训管理系统-CEMS#include /文件操作头文件#include /包含system()等函数的头文件#include /字符串处理头文件#include /输入输出流重载需要的头文件#include / 成绩明细结构体typedef struct GREDAfloat Base_Greda; / 考试成绩 float Merit_Greda; / 平时成绩float Sum_Greda; / 总成绩GREDA; / 包括员工姓名、员工号的工资记录typedef struct Emplo_Gredachar
13、 id10; / 员工编号char name10; / 员工姓名 GREDA data; / 工资Emplo_Greda; typedef struct Nodechar E_id10; /员工号char E_name10; /姓名char E_sex3;/性别char E_cla20;/班级char E_job20;/职务float E_greda;/成绩char E_kecheng100; /课程struct Node *prior; /前驱指针struct Node *next; /后继指针Node,*DLink;/ 成绩大于60的员工,超过班级需要按百分率算成绩float Tax_Ra
14、te1=0.05f; / 60 以下float Tax_Rate2=0.1f; / 60-80float Tax_Rate3=0.15f; / 80 以上void SetGreda(DLink p);/ 员工类class employeeprivate:Node data; / 结构体类型的数据成员public:friend ostream & operator(istream & stream,DLink p); /友元重载输入 /流运算符employee(); / 构造函数DLink CreateLink(); / 创建链表DLink InsertNode(DLink Head); / 插
15、入一个结点;/ 全局常量,一个结点的大小const int NUM=sizeof(Node);/ 重载输出流运算符ostream & operator(ostream & stream,const DLink p)streamsetiosflags(ios:left)setw(10)E_idsetiosflags(ios:left)setw (10)E_namesetiosflags(ios:left)setw(7)E_sexsetiosflags(ios:left)setw(15)E_clasetiosflags(ios:left)setw (15)E_jobsetiosflags(ios:
16、left)setw(8)E_gredasetiosflags(ios:left)setw(80)E_kecheng(istream & stream,DLink p)coutp-E_name;coutp-E_sex;coutp-E_cla;coutp-E_job; SetGreda(p); /输入成绩coutp-E_kecheng ; /输入课程coutprior=NULL;Head-next=NULL;return Head;/插入结点DLink employee:InsertNode(DLink Head)DLink p;ofstream file(EmployeeInfo.txt,ios
17、:app); / 打开文件if(!file) coutCannot open the file!n; return 0; p=new Node;cout请输入员工信息:n;coutp-E_id;while(strcmp(p-E_id,00) /循环输入,以00结束输入cinp;p-prior=Head;p-next=Head-next;if(Head-next!=NULL) /如果不是空链Head-next-prior=p;Head-next=p;file.write(char *)p,NUM);p=new Node;cout请输入员工信息:n;coutp-E_id;file.close();
18、 /关闭文件printf(录入完毕.n);return Head;/输出格式void Print_Format()coutsetiosflags(ios:left)setw(10)员工号setiosflags(ios:left)setw(10) 姓名setiosflags(ios:left)setw(7)性别setiosflags(ios:left)setw(15)所在班级setiosflags(ios:left) setw(15)职务setiosflags(ios:left)setw(8)成绩setiosflags(ios:left)setw(80)kechengendl;/设置成绩率voi
19、d SetTRate()docout请输入成绩:;cinTax_Rate1;while(Tax_Rate11|Tax_Rate10);docout请输入成绩:;cinTax_Rate2;while(Tax_Rate21|Tax_Rate20);docout请输入成绩:;cinTax_Rate3;while(Tax_Rate31|Tax_Rate30);/设置一个员工的明细成绩void SetGreda(DLink p) /int flag=0;float sum;Emplo_Greda *s;s = new Emplo_Greda; /q = new Emplo_Greda;fstream f
20、ile;file.open(Employee_Greda_Info.txt,ios:app);if(!file) cout打开成绩文件失败!endl; return; couts-data.Base_Greda; / 设置考试成绩couts-data.Merit_Greda; / 设置平时成绩sum=s-data.Base_Greda + s-data.Merit_Greda;if(sumdata.Sum_Greda=sum;else if(sumdata.Sum_Greda=(sum-50) * (1-Tax_Rate1)+50;else if(sumdata.Sum_Greda=(sum-
21、60) * (1-Tax_Rate2)+60;elses-data.Sum_Greda=(sum-80) * (1-Tax_Rate3)+80;p-E_greda=s-data.Sum_Greda; / 总成绩strcpy(s-id , p-E_id);strcpy(s-name , p-E_name);file.write(char *)s,sizeof(Emplo_Greda); / 写入文件file.close();/输出void Print()int n,count=0; /n-输入的每屏显示的记录数,count-计数DLink p;ifstream file(EmployeeInfo
22、.txt); / 打开文件if(!file) coutCannot open the file!n; return; p=new Node;coutn;system(cls); /清屏Print_Format(); /输出字段名while(!file.eof()file.read(char *)p,NUM);if(file.fail()break;if(n=count) /控制每一屏显示的记录条数system(pause); /暂停system(cls); /清屏count=0; /计数器清零Print_Format(); coutp;count+;/修改函数void Amend()int n
23、; /用于选择修改选项char id10; /存放输入的需要修改信息的员工号DLink p;p=new Node;fstream file;file.open(EmployeeInfo.txt,ios:in|ios:out); / 以读写方式打开if(!file) coutCannot open the file!n; return; coutid;while(!file.eof()file.read(char *)p,NUM);if(file.fail()break;if(!strcmp(p-E_id,id)break;if(file.eof() printf(没有这个员工号!n);retu
24、rn; cout可以修改的项目有:1-班级 2-职务 3-成绩n;coutn;if(n=0) / 修改所在班级、职务、成绩、课程coutp-E_cla;coutp-E_job;SetGreda(p);else if(n=1) / 修改所在班级coutp-E_cla;else if(n=2) / 修改职务coutp-E_job;else if(n=3) / 修改成绩SetGreda(p); else if(n=4) /修改课程 coutp-E_kecheng;else printf(输入错误!n);file.seekp(-1*NUM,ios:cur); /写指针回跳一条记录,以更新记录file.
25、write(char *)p,NUM); /写入更新后的记录if(n=0|n=1|n=2|n=3)printf(修改成功!n); /操作提示file.close(); /关闭文件/查询函数void Query()char Query_Value20; /存放输入的需要查询的姓名或班级名称int flag=0,n; /是否查询到的标志DLink p;p=new Node;ifstream file(EmployeeInfo.txt); /打开文件if(!file) coutCannot open the file!n; return; cout通过哪种方式查询:endl;coutt1-姓名 2-
26、所在班级endl;coutn;if(n=1)coutQuery_Value;else if(n=2)coutQuery_Value;else cout输入错误!E_name,Query_Value) Print_Format(); coutE_cla,Query_Value) Print_Format(); coutp; flag=1; if(flag=0)printf(查询失败,没有相应记录!n);file.close(); /关闭文件/删除函数void Delete()char id10; /存放输入的员工号char name10; /存放输入的员工姓名int count1=0,count
27、2=0; /count1-总的记录数,count2-删除记录以后的总记录数DLink p;p=new Node;ifstream file(EmployeeInfo.txt);if(!file) coutCannot open the file!n; return; ofstream newfile(NewEmployeeInfo.txt);if(!newfile) coutCannot open the file!n; return; coutid;coutname;while(!file.eof()file.read(char *)p,NUM);count1+;if(file.fail()
28、break;if(strcmp(p-E_name,name)|strcmp(p-E_id,id)newfile.write(char *)p,NUM);count2+;file.close(); /关闭文件newfile.close(); /关闭文件remove(EmployeeInfo.txt); / 删除原来的EmployeeInfo.txtrename(NewEmployeeInfo.txt,EmployeeInfo.txt); / 重命名if(count1=count2)printf(没有这个记录!n);elseprintf(删除成功!n);/ 查看员工成绩明细void showgre
29、da()int n;char temp110;Emplo_Greda temp2;ifstream file(Employee_Greda_Info.txt);if(!file) cout员工成绩表文件不能打开!endl; return; cout请选择操作项:endl;cout1-查看某个员工成绩明细 2-查看全部员工成绩明细endl;coutn;if(n=1) / 输出某一个员工的成绩明细couttemp1;else if(n!=2) cout输入错误!endl; return; coutsetiosflags(ios:left)setw(10)员工号setiosflags(ios:lef
30、t)setw(10) 姓名setiosflags(ios:left)setw(10)考试成绩setiosflags(ios:left) setw(10)平时成绩setiosflags(ios:left)setw(10)总成绩endl;while(!file.eof()file.read(char *)&temp2,sizeof(Emplo_Greda);if(file.fail()break;if(n=1) / 输出某一个员工的成绩明细if(!strcmp(temp2.id,temp1)coutsetiosflags(ios:left)setw(10)temp2.idsetiosflags (
31、ios:left)setw(10)setiosflags(ios:left)setw(10) temp2.data.Base_Gredasetiosflags(ios:left)setw(10)temp2.data.Merit_Gredatemp2.data.Sum_Gredaendl;break;else / 输出全部员工的成绩明细coutsetiosflags(ios:left)setw(10)temp2.idsetiosflags (ios:left)setw(10)setiosflags(ios:left)setw(10) temp2.data.Base_Gredasetiosflags(ios:left)setw(10)temp2.data.Merit_Gredasetiosflags(ios:le
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年新疆温宿县卫生高级职称(卫生管理)考试题含答案
- 2024年新疆墨玉县卫生高级职称(卫生管理)考试题含答案
- 2024年西藏昂仁县卫生高级职称(卫生管理)考试题含答案
- 援外标识管理办法
- 敏捷项目管理办法
- 建店融资管理办法
- 2024年陕西省凤县普通外科学(副高)考试题含答案
- 2024年四川省南溪县急诊医学(副高)考试题含答案
- 新疆短工管理办法
- 枪支仓储管理办法
- 2023年邮政理财经理大赛笔试试题
- 12-调节效应(高级心理统计PPT刘红云)
- GB/T 30475.2-2013压缩空气过滤器试验方法第2部分:油蒸气
- GB/T 19580-2012卓越绩效评价准则
- GB/T 16571-2012博物馆和文物保护单位安全防范系统要求
- HCT多线切割工艺
- GB 16912-2008深度冷冻法生产氧气及相关气体安全技术规程
- 化学药品地标升国标第四册
- 2023年湖北农谷实业集团有限责任公司招聘笔试模拟试题及答案解析
- 凤凰网公益频道先生访谈记录
- 锻造作业指导书
评论
0/150
提交评论