您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 人事管理系统C++课程设计报告
编号:B04931053课程设计学号:201240450137教学院计算机学院课程名称面向对象程序设计课程设计题目人事档案管理系统专业软件工程班级12软件工程姓名包先跃同组人员吕鹏飞、林科辰、龙浪、陈精良指导教师谢晋2013年12月15日(完成时间)课程设计(论文)1目录一概述.............................................................................................................................................2二总体方案设计.............................................................................................................................3三详细设计.....................................................................................................................................3程序流程图...............................................................................................................................7四程序的调试与运行结果说明.....................................................................................................84.1调试方法.............................................................................................................................84.2运行的主要功能界面及分析.............................................................................................94.3测试中的问题...................................................................................................................12五课程设计总结...........................................................................................................................135.1程序的效果描述...............................................................................................................135.2优点与不足.......................................................................................................................135.3个人体会...........................................................................................................................13参考文献.........................................................................................................................................14附录:.............................................................................................................................................14课程设计(论文)2一概述1.课程设计的目的1.理解和掌握该课程中的有关基本概念,程序设计思想和方法。2.培养综合运用所学知识独立完成课题的能力。3.培养勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。4.掌握从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。2.课程设计的要求1.需求分析:①能够输入职工的综合情况的输入、修改以及删除;②能够实现对职工信息的浏览;③能够实现对职工进行查询;④设计系统封面并由计时器控制;2.系统性能要求:①系统安全、可靠;②功能齐全;③操作方便、界面友好;④易于维护和扩充。3.系统的功能分析:资料维护:系统维护包括对各种表记录的修改、删除、添加等操作。4.资料维护:对数据表中的信息进行浏览。系统查询:可以按职工编号、姓名等相关信息进行详细或模糊查询。报表统计:包括统计职工编号、职工姓名、职工性别、所在部门、职工年龄、工作日期、基本工资、职称、职务和简历等字段。其它操作:系统封面、计时器控制与人性化提示信息。系统功能模块人事管理系统有:数据查找与浏览、数据修改、报表显示和系统封面构成。5.功能的实现:1“数据查找与浏览”模块:(1)数据查找:课程设计(论文)3对职工的编号、职工姓名、职工性别、所在部门、职工年龄、工作日期、基本工资、职称、职务和简历等字段进行精确或模糊查找。(2)数据浏览:可以对数据表中的数据实现,上一项、下一项、首相、尾项等操作。(3)其他信息:设置字体、颜色属性和一些提示信息。2“数据修改”模块:(1)添加数据:增加一个新的记录(2)修改数据:修改原有记录。二总体方案设计整体设计为数据输入模块、数据添加模块、数据删除模块、数据查询模块、数据修改模块、数据统计模块、数据排序模块。数据输入模块把员工信息逐一写入人事档案文件。数据添加模块用追加的方式把新增员工信息写入人事档案文件。数据删除模块根据人员编号查找要删除的人员,从文件中读一条记录,查看编号是否要删除,如果是,则舍弃。数据查询模块把编号和姓名作为查询字段,用基本查找算法查找人事档案文件,把符合查找要求的记录输出。数据输出模块通过菜单选择年龄或者来时时间,把数据从文件中读出来,任意选择一种排序算法对记录进行排序,输出排序结果。这些模块中我负责数据查询和删除两个部分。三详细设计数据结构采用成员类:classperson//定义通讯成员类{public:charnum[20];//编号charname[30];//姓名charsex[20];//性别charage[20];//年龄charposition[20];//职位charaddress[500];//地址chartel[100];//手机号课程设计(论文)4charnation[30];//民族charpolitical_status[20];//政治面貌charmarital_status[20];//婚姻状况charschool[200];//毕业院校charidentity[500];//身份证号charemail[20];//邮箱Public://对其成员函数的声明voidadd_person(int&);//新增通讯成员boolsearchnum();//按编号查找boolsearchname();//按姓名查找voiddelnum(int&);//按编号删除voiddelname(int&);//按姓名删除voidshowall();//统计职员数voidget_i();//读取数据文件职员数friendostream&operator(ostream&out,person&pe);//重载运算符};数据输入模块把员工信息逐一写入人事档案文件。数据添加模块用追加的方式把新增员工信息写入人事档案文件。cout请输入职员的的编号:(1000-9999)endl;cinnum;cout请输入职员姓名:endl;cinname;cout请输入性别:endl;cinsex;while((string)sex!=男&&(string)sex!=女){cout您输入的性别有误,请核对后再输入:endl;cinsex;}cout请输入年龄:endl;cinage;课程设计(论文)5cout请输入该职员的职位:(经理,管理员,员工)endl;cinposition;while((string)position!=经理&&(string)position!=管理员&&(string)position!=员工){cout您输入的职工职位有误,请核对后再输入:endl;cinposition;}cout请输入该职员的家庭地址:endl;cinaddress;cout请输入该职员的民族:endl;cinnation;cout请输入职员的政治面貌:(群众,团员,党员)endl;cinpolitical_status;while((string)political_status!=群众&&(string)political_status!=团员&&(string)political_status!=党员){cout您输入的职工政治面貌有误,请核对后再输入:endl;cinpolitical_status;}cout请输入职员的婚姻状况(未婚,已婚)endl;cinmarital_status;while((string)marital_status!=未婚&&(string)marital_status!=已婚){cout您输入的职工的婚姻状况有误,请核对后再输入:endl;cinmarital_status;}cout请输入职员的毕业学校:endl;cinschool;cout请输入职员的身份证号:endl;cinidentity;课程设计(论文)6cout请输入职员的手机号:endl;cintel;cout请输入职员的邮箱:endl;cinemail;cout请输入职员的聘用时间:endl;cinengage_time;cout请输入此次记录的添加时间:endl;cinadd_time;coutendl;ofstreamoutfile(test.dat,ios::app|ios::binary);//打开test.dat文件,并将指针指向文件尾(3)数据删除模块根据人员编号查找要删除的人员,从文件中读一条记录,查看编号是否要删除,如果是,则舍弃如:test.dat{ofstreamoutfile(test.dat,ios::binary);//打开用于写的二进制文件test.datifstreaminfile(tmp.dat,ios::binary);//打开用于读的二进制文件tmp.datinfile.read((char*)(this),sizeof(*this));//读取一个类对象数据放入*this中while(!infile.eof()){
本文标题:人事管理系统C++课程设计报告
链接地址:https://www.777doc.com/doc-2163587 .html