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

上传人:b****6 文档编号:8019672 上传时间:2023-05-12 格式:DOCX 页数:21 大小:75.22KB
下载 相关 举报
C++课程设计职工信息管理系统.docx_第1页
第1页 / 共21页
C++课程设计职工信息管理系统.docx_第2页
第2页 / 共21页
C++课程设计职工信息管理系统.docx_第3页
第3页 / 共21页
C++课程设计职工信息管理系统.docx_第4页
第4页 / 共21页
C++课程设计职工信息管理系统.docx_第5页
第5页 / 共21页
C++课程设计职工信息管理系统.docx_第6页
第6页 / 共21页
C++课程设计职工信息管理系统.docx_第7页
第7页 / 共21页
C++课程设计职工信息管理系统.docx_第8页
第8页 / 共21页
C++课程设计职工信息管理系统.docx_第9页
第9页 / 共21页
C++课程设计职工信息管理系统.docx_第10页
第10页 / 共21页
C++课程设计职工信息管理系统.docx_第11页
第11页 / 共21页
C++课程设计职工信息管理系统.docx_第12页
第12页 / 共21页
C++课程设计职工信息管理系统.docx_第13页
第13页 / 共21页
C++课程设计职工信息管理系统.docx_第14页
第14页 / 共21页
C++课程设计职工信息管理系统.docx_第15页
第15页 / 共21页
C++课程设计职工信息管理系统.docx_第16页
第16页 / 共21页
C++课程设计职工信息管理系统.docx_第17页
第17页 / 共21页
C++课程设计职工信息管理系统.docx_第18页
第18页 / 共21页
C++课程设计职工信息管理系统.docx_第19页
第19页 / 共21页
C++课程设计职工信息管理系统.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《C++课程设计职工信息管理系统.docx》由会员分享,可在线阅读,更多相关《C++课程设计职工信息管理系统.docx(21页珍藏版)》请在冰点文库上搜索。

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

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

C++课程设计

 

职工信息管理系统

指导老师:

组长:

组员:

设计时间:

2007年9月

一.系统的软硬件环境

1.软件环境:

WindowsXP、VisualC++6.0

2.硬件环境:

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;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;i

{

if(Enum[i]==cNum)

for循环和if的嵌套

七.成员分工

张佳:

负责创建classEmployee、classDBOperateswitch(choice1)、

voidDBOperate:

:

WriteIn(intiflag)

王彦艳:

负责编辑intEmployee:

:

MaxNum()、voidEmployee:

:

NewInfo()

voidEmployee:

:

ShowInfo()、voidEmployee:

:

showall()

八.程序源代码如下

#include

#include

#include

usingnamespacestd;

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");

myf>>MN;

cout<

myf.close();

returnMN;

}

voidEmployee:

:

NewInfo()//添加新成员函数

{

cout<<"新员工姓名:

";

cin>>Employee:

:

Employeename;

Employee:

:

Employeenum=EmployeeMaxNum+Employee:

:

MaxNum()+1;

cout<<"新员工性别(F为女性,M为男性):

";

cin>>Employee:

:

Employeesex;

cout<<"新员工年龄:

";

cin>>Employee:

:

Employeeage;

cout<<"新员工婚姻状况(Y为已婚,N为未婚):

";

cin>>Employee:

:

Employeemarriage;

cout<<"新员工学历,请输入相应学历的序号:

"<

cout<<"[1:

初中2:

高中3:

本科4:

硕士5:

博士]";

cin>>Employee:

:

Employeedegree;

while(Employee:

:

Employeedegree!

=1&&Employee:

:

Employeedegree!

=2&&Employee:

:

Employeedegree!

=3&&Employee:

:

Employeedegree!

=4&&Employee:

:

Employeedegree!

=5)

{

cout<<"输入有误,请重新输入:

"<

cout<<"[1:

初中2:

高中3:

本科4:

硕士5:

博士]";

cin>>Employee:

:

Employeedegree;

}

cout<<"新员工所在部门,请输入相应部门的序号:

"<

cout<<"[1:

董事会2:

市场部3:

公关部4:

客服中心5:

信息中心]";

cin>>Employee:

:

Employeedepart;

while(Employee:

:

Employeedepart!

=1&&Employee:

:

Employeedepart!

=2&&Employee:

:

Employeedepart!

=3&&Employee:

:

Employeedepart!

=4&&Employee:

:

Employeedepart!

=5)

{

cout<<"输入有误,请重新输入:

"<

cout<<"[1:

董事会2:

市场部3:

公关部4:

客服中心5:

信息中心]";

cin>>Employee:

:

Employeedepart;

}

cout<<"新员工职位,请输入相应职位的序号:

"<

cout<<"[1:

临时职员2:

正式职员3:

主任4:

部门经理5:

董事长]";

cin>>Employee:

:

Employeeposition;

while(Employee:

:

Employeeposition!

=1&&Employee:

:

Employeeposition!

=2&&Employee:

:

Employeeposition!

=3&&Employee:

:

Employeeposition!

=4&&Employee:

:

Employeeposition!

=5)

{

cout<<"输入有误,请重新输入:

"<

cout<<"[1:

临时职员2:

正式职员3:

主任4:

部门经理5:

董事长]";

cin>>Employee:

:

Employeeposition;

}

cout<<"新员工的工作时(不需要输入单位):

";

cin>>Employee:

:

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<<"添加新成员成功!

"<

return;

}

voidEmployee:

:

ShowInfo()//程序主体数据输出函数

{

intchoice1,choice2,min,max;

longsearchnum;

Employeee;

cout<<"请选择查询方式:

"<

cout<<"******************************************"<

cout<<"*输出全体职工信息---------------------1"<

cout<<"*按职工部门输出-----------------------2"<

cout<<"*按职工学历输出-----------------------3"<

cout<<"*按职工年龄输出-----------------------4"<

cout<<"*按职工编号输出-----------------------5"<

cout<<"******************************************"<

cin>>choice1;

switch(choice1)

{

case1:

showall();break;

case2:

cout<<"请输入要查询职工的部门编号:

[1:

董事会2:

市场部3:

公关部4:

客服中心5:

信息中心]";

cin>>choice2;

e.showdepart(choice2);break;

case3:

cout<<"请输入要查询职工的学历编号:

[1:

初中2:

高中3:

本科4:

硕士5:

博士]";

cin>>choice2;

e.showdegree(choice2);break;

case4:

cout<<"请输入要查询的年龄范围:

";

cout<<"最小值:

";

cin>>min;

cout<<"最大值:

";

cin>>max;

e.showage(min,max);break;

case5:

cout<<"请输入要查询的员工号:

";

cin>>searchnum;

e.shownum(searchnum);break;

default:

cout<<"出错啦!

"<

}

}

voidEmployee:

:

showall()//全体员工输出函数

{inti;

longnumber;

for(i=0;i

:

MaxNum();i++)

{

number=Enum[i];

shownum(number);

}

}

voidEmployee:

:

showdepart(intdepart)//按员工所在部门输出函数

{

inti;

switch(depart)

{

case1:

cout<<"董事会的成员有:

>"<

case2:

cout<<"市场部的成员有:

>"<

case3:

cout<<"公关部的成员有:

>"<

case4:

cout<<"客服中心成员有:

>"<

case5:

cout<<"信息中心成员有:

>"<

default:

cout<<"输入错误!

>"<

}

for(i=0;i

:

MaxNum();i++)

{

if(Edepart[i]==depart)

{

longnumber=Enum[i];

shownum(number);

}elsecontinue;

}

}

voidEmployee:

:

showdegree(intdegree)//按员工学历输出函数

{

inti;

switch(degree)

{

case1:

cout<<"初中学历的员工有:

"<

case2:

cout<<"高中学历的员工有:

"<

case3:

cout<<"本科学历的员工有:

"<

case4:

cout<<"硕士学位的员工有:

"<

case5:

cout<<"博士学位的员工有:

"<

}

for(i=0;i

:

MaxNum();i++)

{

if(Edegree[i]==degree)

{

longnumber=Enum[i];

shownum(number);

}elsecontinue;

}

}

voidEmployee:

:

showage(intmin,intmax)//按员工年龄段输出函数

{

inti;

for(i=0;i

:

MaxNum();i++)

{

if(Eage[i]>=min&&Eage[i]<=max)

{

longnumber=Enum[i];

shownum(number);

}

elsecontinue;

}

}

voidEmployee:

:

shownum(longnumber)//按员工编号输出函数

{

inti;

for(i=0;i

:

MaxNum();i++)

{

if(Enum[i]==number)

{

cout<<"**********************************"<

cout<<"员工编号>"<

cout<<"姓名>"<

cout<<"性别>";

if(Esex[i]=='F')cout<<"女"<

elseif(Esex[i]=='M')cout<<"男"<

cout<<"年龄>"<

cout<<"婚姻情况>";

if(Emarriage[i]=='Y')cout<<"已婚"<

elseif(Emarriage[i]=='N')cout<<"未婚"<

cout<<"学历>";

switch(Edegree[i])

{

case1:

cout<<"初中"<

case2:

cout<<"高中"<

case3:

cout<<"本科"<

case4:

cout<<"硕士"<

case5:

cout<<"博士"<

}

cout<<"所在部门>";

switch(Edepart[i])

{

case1:

cout<<"董事会"<

case2:

cout<<"市场部"<

case3:

cout<<"公关部"<

case4:

cout<<"客服中心"<

case5:

cout<<"信息中心"<

}

cout<<"所任职务>";

switch(Eposition[i])

{

case1:

cout<<"临时成员"<

case2:

cout<<"正式员工"<

case3:

cout<<"主任"<

case4:

cout<<"部门经理"<

case5:

cout<<"董事长"<

}

cout<<"工作时长>"<

cout<<"额定工资>"<

cout<<"**********************************"<

}

elsecontinue;

}

}

voidEmployee:

:

RefreshInfo()//修改员工信息的函数

{

intcNum=1000;

DBOperatedbo;

dbo.ReadOut();

voidEmployee:

:

shownum(longnumber);

cout<<"请输入您要修改的员工编号:

>";

cin>>cNum;

intMN;

MN=Employee:

:

MaxNum();

for(inti=0;i

{

if(Enum[i]==cNum)

{

Employee:

:

shownum(cNum);

cout<<"请输入该员工的新信息:

"<

cout<<"新员工姓名:

";//录入员工的新的数据,员工号保持不变

cin>>Employee:

:

Employeename;

Ename[i]=Employee:

:

Employeename;

cout<<"新员工性别:

[F为女性,M为男性]:

";

cin>>Employee:

:

Employeesex;

Esex[i]=Employee:

:

Employeesex;

cout<<"新员工年龄:

";

cin>>Employee:

:

Employeeage;

Eage[i]=Employee:

:

Employeeage;

cout<<"新员工婚姻状况(Y为已婚,N为未婚):

";

ci

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2