您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > C++课程设计职工信息管理系统
C++课程设计职工信息管理系统指导老师:组长:组员:设计时间:2007年9月一.系统的软硬件环境1.软件环境:WindowsXP、VisualC++6.02.硬件环境:CPU(pentium42.4Hz)、内存(256MB)、硬盘(80G)二.需求分析本系统适用于各企事业、机关单位的人事管理工作。系统储存的人事信息包括:在职及离职职工的基本情况、工作情况、组织情况、工资情况、学历情况、以及奖惩情况,个人简历、配偶和家庭成员信息等等。系统可以实现对这些信息的录入、删除、查询、统计、打印和分析操作,方便灵活、准确、迅速。可以帮助用户实现对人事信息的全面管理。本系统作为人力资源管理的计算机管理系统,秉承以“人”为主的管理方式:对于企业、部门、职工以及它们相互之间复杂的人事关系,本系统是无法取代‘人’去处理的,因而在某些人事事务的处理上,本系统为‘人’的处理留出了较大的余地。三.系统总体框架图.四.模块功能实现1、该系统存储了某个单位所有职工的基本信息,对每一个职工存储:职工编号,姓名,性别,出生年月,部门,职称,最后学历,工资和婚否等信息。形成了统一的档案管理系统,便于公司对职工的管理。2、创建存储该单位职工信息的存储系统,在第一次输入基本信息时,创建文件将职工信息写入文件。3、增加职工信息,增加新职工时输入新职工的基本信息并加入文件。4、删除某职工的基本信息,同时修改文件中相应的内容。5、修改某职工的某些信息,如加工资,获新学位,晋升职称。6、可以输出符合某种特征的职工信息列表,包括:a)全体职工信息;b)某职称的职工全部信息;c)出生日期在某一范围的全部职工信息;d)某一部门全部职工信息。输出全体职工信息按职工部门输出按职工学历输出按职工编号输出按职工职称输出按职工工资输出按职工年龄输出职工信息管理系统模拟框架图五.程序的使用说明在运行此程序时出现如下如所示的界面此时就可以按照需要来查找有关员工的信息了,例如你想按条件输出员工的数据,那么就在“请选择您要服务的类别:”处输入2再按回车,您会看见如下信息:之后您可以选择按职工部门、职工学历、或是年龄、辩护等方式来查找员工,同样您要是想修改员工信息就重新运行之后输入3来重复上述操作,这里不再赘述,请您自己把握。六.结束语constN=50;//用常量定义系统可录入的员工最大数值intEmployee::MaxNum()//返回系统已经存储的人数voidEmployee::shownum(longnumber)//按员工编号输出函数voidEmployee::RefreshInfo()//修改员工信息的函数voidDBOperate::RefreshMaxNum(intiflag)//更新系统中员工计数文件的函数2到4行为定义一个函数属于某个类,实现其功能for(inti=0;iMN;i++)//遍历数据文件,查找要修改的员工数据利用for循环语句实现函数的功能staticlongEmployeeMaxNum;staticfloatEmployeeBasePay;利用静态长整型数和静态浮点数实现函数的功能while(Employee::Employeedepart!=1&&Employee::Employeedepart!=2&&Employee::Employeedepart!=3&&Employee::Employeedepart!=4&&Employee::Employeedepart!=5)while循环switch(choice1)开关语句for(inti=0;iMN;i++)//遍历数据文件,查找要删除的员工{if(Enum[i]==cNum)for循环和if的嵌套七.成员分工张佳:负责创建classEmployee、classDBOperateswitch(choice1)、voidDBOperate::WriteIn(intiflag)王彦艳:负责编辑intEmployee::MaxNum()、voidEmployee::NewInfo()voidEmployee::ShowInfo()、voidEmployee::showall()八.程序源代码如下#includeiostream#includestring#includefstreamusingnamespacestd;constN=50;//定义系统可录入的员工最大数值stringEname[N];longEnum[N];charEsex[N];intEage[N];charEmarriage[N];intEdepart[N];intEposition[N];intEdegree[50];intEworktime[N];floatEpay[N];classEmployee{public:stringEmployeename;longEmployeenum;charEmployeesex;intEmployeeage;charEmployeemarriage;intEmployeedepart;intEmployeeposition;intEmployeedegree;intEmployeeworktime;floatEmployeepay;staticlongEmployeeMaxNum;staticfloatEmployeeBasePay;voidNewInfo();voidShowInfo();voidshowall();voidshowdepart(intdepart);voidshowdegree(intdegree);voidshowage(intmin,intmax);voidshownum(longnumber);voidRefreshInfo();voidDeleteInfo();floatPay(intEmployeegrade);staticintMaxNum();};classDBOperate{public:stringEmployeename;longEmployeenum;charEmployeesex;intEmployeeage;charEmployeemarriage;intEmployeedepart;intEmployeeposition;intEmployeedegree;intEmployeeworktime;floatEmployeepay;staticlongEmployeeMaxNum;staticfloatEmployeeBasePay;voidWriteIn(intiflag);voidReadOut();voidRefreshMaxNum(intiflag);//i=1or-1or0};longEmployee::EmployeeMaxNum=1000;floatEmployee::EmployeeBasePay=1500;intEmployee::MaxNum()//返回系统已经存储的人数{intMN=0;ifstreammyf;myf.open(EmployeeMaxNum.txt);myfMN;coutMNendl;myf.close();returnMN;}voidEmployee::NewInfo()//添加新成员函数{cout新员工姓名:;cinEmployee::Employeename;Employee::Employeenum=EmployeeMaxNum+Employee::MaxNum()+1;cout新员工性别(F为女性,M为男性):;cinEmployee::Employeesex;cout新员工年龄:;cinEmployee::Employeeage;cout新员工婚姻状况(Y为已婚,N为未婚):;cinEmployee::Employeemarriage;cout新员工学历,请输入相应学历的序号:endl;cout[1:初中2:高中3:本科4:硕士5:博士];cinEmployee::Employeedegree;while(Employee::Employeedegree!=1&&Employee::Employeedegree!=2&&Employee::Employeedegree!=3&&Employee::Employeedegree!=4&&Employee::Employeedegree!=5){cout输入有误,请重新输入:endl;cout[1:初中2:高中3:本科4:硕士5:博士];cinEmployee::Employeedegree;}cout新员工所在部门,请输入相应部门的序号:endl;cout[1:董事会2:市场部3:公关部4:客服中心5:信息中心];cinEmployee::Employeedepart;while(Employee::Employeedepart!=1&&Employee::Employeedepart!=2&&Employee::Employeedepart!=3&&Employee::Employeedepart!=4&&Employee::Employeedepart!=5){cout输入有误,请重新输入:endl;cout[1:董事会2:市场部3:公关部4:客服中心5:信息中心];cinEmployee::Employeedepart;}cout新员工职位,请输入相应职位的序号:endl;cout[1:临时职员2:正式职员3:主任4:部门经理5:董事长];cinEmployee::Employeeposition;while(Employee::Employeeposition!=1&&Employee::Employeeposition!=2&&Employee::Employeeposition!=3&&Employee::Employeeposition!=4&&Employee::Employeeposition!=5){cout输入有误,请重新输入:endl;cout[1:临时职员2:正式职员3:主任4:部门经理5:董事长];cinEmployee::Employeeposition;}cout新员工的工作时(不需要输入单位):;cinEmployee::Employeeworktime;Employee::Employeepay=Employee::Pay(Employee::Employeeposition);DBOperatedbo;dbo.ReadOut();intMaxNum=Employee::MaxNum();Enum[MaxNum]=Employee::Employeenum;Ename[MaxNum]=Employee::Employeename;Esex[MaxNum]=Employee::Employeesex;Eage[MaxNum]=Employee::Employeeage;Emarriage[MaxNum]=Employee::Employeemarriage;Edegree[MaxNum]=Employee::Employeedegree;Edepart[MaxNum]=Employee::Employeedepart;Eposition[MaxNum]=Employee::Employeeposition;Eworktime[MaxNum]=Employee::Employeeworktime;Epay[MaxNum]=Employee::Employeepay;dbo.WriteIn(1);cout添加新成员成功!endl;return;}voidEmployee::ShowInfo()//程序主体数据输出函数{intchoice1,choice2,min,max;longsearchnum;Employeee;cout请选择查询方式:
本文标题:C++课程设计职工信息管理系统
链接地址:https://www.777doc.com/doc-5675370 .html