员工管理系统毕业设计论文.docx

上传人:b****8 文档编号:11480805 上传时间:2023-03-01 格式:DOCX 页数:38 大小:167.63KB
下载 相关 举报
员工管理系统毕业设计论文.docx_第1页
第1页 / 共38页
员工管理系统毕业设计论文.docx_第2页
第2页 / 共38页
员工管理系统毕业设计论文.docx_第3页
第3页 / 共38页
员工管理系统毕业设计论文.docx_第4页
第4页 / 共38页
员工管理系统毕业设计论文.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

员工管理系统毕业设计论文.docx

《员工管理系统毕业设计论文.docx》由会员分享,可在线阅读,更多相关《员工管理系统毕业设计论文.docx(38页珍藏版)》请在冰豆网上搜索。

员工管理系统毕业设计论文.docx

员工管理系统毕业设计论文

三正文

3.1课程设计的目的与要求

3.2系统分析.

3.2.1

系统开发背景、开发范围、建设目标与必要性

3.2.2

业务流程分析

3.2.3

数据字典

3.2.4

处理逻辑的定义

3.3系统设计

3.3.1功能设计

3.3.2系统运行环境

3.4系统实施

10

3.4.1程序代码

10

3.4.2运行结果

29

 

四课程设计总结或结论

35

五参考文献35

三、正文

3.1课程设计的目的与要求

通过管理信息系统课程设计,进一步掌握管理信息系统的理论和方法。

培养和锻炼开发管理信息系统的能力。

为今后信息系统开发打下良好的基础。

要求了解企业管理信息系统开发的全过程,理解信息系统课程相关的概念,掌握管理信息系统的开发方法。

主要包括:

系统调研方法;业务分析、数据分析、系统逻辑模型设计方法;数据库设计、功能设计、物理模型设计方法;系统的实现等方法。

完成一个小型系统的设计与开发。

3.2系统分析

3.2.1系统开发背景、开发范围、建设目标与必要性

随着本世纪以来科学技术的突飞猛进和社会生产力的迅速发展,人们进行信息交流的深

度与广度不断增加,信息量急剧增长,传统的信息处理与决策的手段已不能适应社会的需要,

会环境,特别是企业间日趋剧烈的竞争形势,一个人、一个企业要在现代社会中求生存,求

发展,必须具备足够的信息和强有力的信息收集与处理手段。

能力作为人类脑力劳动的有力助手登上历史舞台以后,

放出来的现代信息革命。

为了适应现代企业或公司经营发展的需要,为提高企业工作效率、保证企业职工信息管理质量、快而准确地为企业制定好的经营方针与决策,我们有必要开发一个职工信息管理系统。

3.2.2业务流程分析

现行管理系统的业务流程图

信息管

理员

事务

»

职工

信息管理系统

事务

■信息管

理员

图3-1第一层数据流图

职工信息库

信息管

事务

接收

理员

职工

信息

更新

事务

信息管

职工

理员

信息

图3-2第二层数据流图

事务:

删除,添加,修改,查询;

 

职工信息E-R图

323数据字典

数据流字典

1数据流名称

:

职工-主管类

数据结构:

职工编号

id

姓名name

性别sex工资salary

出生时间birth

参加工作时间worktime

职位a

2数据流名称:

职工-工人类

数据结构:

职工编号id姓名name

性别sex工资salary

出生时间birth

参加工作时间worktime

职位b

3.2.4处理逻辑的定义

①处理名:

添加职工信息

输入:

根据选择录入数据

输出:

显示所添加的信息

处理定义:

当选择了要输入的数据类型时,按照提示输入所需要的信息,并录入到职工信息库里

激发条件:

选择添加职工信息

②处理名:

删除职工信息

输入:

键入要删除的职工号

输出:

显示输入职工好所对应的信息

处理定义:

根据键入的职工号查到相关的信息,经确认后,从信息库中删除

激发条件:

选择删除职工信息

3处理名:

修改职工信息

输入:

键入要修改的职工号,并选择要修改的项

输出:

显示修改后的该职工信息

处理定义:

键入要修改的职工号,显示该职工的信息,根据提示选择要修改的项,修改成功后显示

修改后的职工信息

激发条件:

选择修改职工信息

4处理名:

查找职工信息

输入:

选择要查找的类型(职工号,姓名,年龄)

输出:

显示所要查找的职工信息

处理定义:

选择要查找的类型,从信息库中查找并显示

激发条件:

选择查找记录

5处理名:

列出信息

输入:

选择输出类型

输出:

根据选择输出数据

处理定义:

根据选择的输出类型,输出职工信息

激发条件:

选择列出信息功能

6处理名:

计算平均年龄

输入:

输出:

输出职工的平均年龄

处理定义:

调用函数,输出职工的平均年龄

激发条件:

选择计算平均年龄功能

7处理名:

创建职工信息简表

输入:

输出:

显示职工信息简表

处理定义:

创建并显示职工信息简表

激发条件:

选择创建职工信息简表功能

8处理名:

存入磁盘

输入:

输出:

把数据输出到磁盘文件中

处理定义:

输出职工信息文件

激发条件:

选择存入磁盘功能

3.3系统设计

职工信息包括职工号,姓名,性别,年龄,工资,出生日期,工作时间,试设计一职工信息

管理系统,使之能提供以下功能:

1)建立职工信息数据,包括职工编号、姓名、性别、工资、出生时间、参加工作时间和

年龄(必须计算得到)。

2)根据职工信息表,建立只含有姓名和年龄的职工信息简表。

3)抽取并计算职工的平均年龄。

4)检索(查找)指定信息。

(如按姓名检索、按年龄检索)

5)修改职工信息

6)删除职工信息

7)保存数据文件3.3.1功能设计

功能框架图如下:

Y

Y

N

Y

N

Y

N

Y

Default

<

Case6

<

Case7

N

Case5

<

Case8

列出信息break

平均年龄break

_.1创建简表break

存入磁盘break

选择错误break

结束

332系统运行环境

VisualC++是一个功能强大的可视化软件开发工具。

VisualC++6.0不仅是

个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境

(integrated

developmentenvironment,IDE

)。

VisualC++6.0由许多组件组成,包括编辑器、调

试器以及程序向导AppWizard、类向导ClassWizard等开发工具。

这些组件通过一

个名为DeveloperStudio的组件集成为和谐的开发环境。

3.4系统实施

3.4.1程序代码

#include

#include

#include

#include

usingnamespacestd;

intnum仁0,num2=0,num=0;

floatavery=0.0;

charsave1;

enumtsex{man,woman,mid};

voidfoundid(stringid1);

voidfoundname(stringn);

 

voidfoundage(inta);

intfoundhao(stringid1);

voidsave();

voidlisebiao(){};

classemployee{

stringid;

stringname;

tsexsex;

intsalary;

intbirth;

intworktime;

intage;

public:

employee();

employee(stringi,stringna,tsexs,intsa,intbi,intwt);

~employee(){};

employee&operator=(employee&e){

id=e.id;name=e.name;sex=e.sex;salary=e.salary;birth=e.birth;worktime=e.worktime;

age=e.age;

return*this;

voidadd();

voiddisplay();

stringgetid(){returnid;}

stringgetname(){returnname;}

intgetage(){returnage;}

tsexgetsex(){returnsex;}

intgetsalary(){returnsalary;}

intgetbirth(){returnbirth;}

intgetworktime(){returnworktime;}

voidsetid(stringid1){id=id1;}

voidsetname(stringn1){name=n1;}

voidsetsex(ints){

if(s==1)sex=man;

elseif(s==2)sex=woman;

elsesex=mid;}

voidsetsalary(intsa){salary=sa;}

voidsetbirth(intbi){birth=bi;}

voidsetworktime(intwt){worktime=wt;}

voidclean(){employee();}};

employee:

:

employee(){

sex=mid;salary=0;birth=0;worktime=0;age=0;}employee:

:

employee(stringi,stringna,tsexs,intsa,intbi,intwt){

id=i;name=na;sex=s;salary=sa;birth=bi;worktime=wt;age=2009-bi/10000;

voidemployee:

:

add(){

intf,sex1;

do{

cout<<"请输入职工号:

\t";

cin>>id;

f=foundhao(id);

 

}while(f==1||f==2);

 

cout<<"请输入职工姓名

:

\t";

cin>>name;

do{

cout<<"请输入职工性别(1.男\t2.女):

\t";

cin>>sex1;

switch(sex1)case1:

sex=man;

break;

case2:

sex=woman;

break;

default:

cout<<"选择错误,重新选择\n";

}while(sex1!

=1&&sex1!

=2);

do{

cout<<"请输入基本工资:

\t";

cin>>salary;

if(salary<1000)

cout<<"输入错误,基本工资应在1000以上!

\n";

}while(salary<1000);

cout<<"请输入出生日期:

\t";

cin>>birth;

cout<<"请输入参加工作日期:

\t";

cin>>worktime;

cout<<"添加职工信息如下:

\n";

display();

cout<<"是否保存?

y/n:

";

cin>>save1;

if(save1=='y'||save1=='Y')

num++;

cout<<"保存成功!

\n";

else

cout<<"您放弃了保存!

添加失败\n";

voidemployee:

:

display(){

inti;

cout<<"工号:

\t"<

\t"<

\t";

if(sex==man)cout<<"男"<<'\n';

elseif(sex==woman)cout<<"女"<<'\n';

elsecout<<"无"<

age=2009-birth/10000;

cout<<"年龄:

\t"<

cout<<"出生年月:

\t";

i=birth;

cout<

i=i%10000;

cout<

cout<<"工资:

\t"<

cout<<"参加工作时间:

\t"<

classmanager:

publicemployee{

public:

inta;

manager();

manager(stringi,stringna,tsexs,intsa,intbi,intwt,intp1);

~manager(){};

voidaddmanager();

}m[100];

manager:

:

manager(){a=1;}p1):

employee(i,na,s,sa,bi,wt){

a=p1;

voidmanager:

:

addmanager(){

add();

a=1;

classwork:

publicemployee{public:

intb;

work();

work(stringi,stringna,tsexs,intsa,intbi,intwt);

~work(){};

voidaddwork();

}w[100];

work:

:

work(){b=0;}

work:

:

work(string

i,string

na,tsex

s,int

sa,int

bi,int

wt):

employee(i,na,s,sa,bi,wt){

b=0;

voidwork:

:

addwork(){

add();

b=0;

voidaddnew(){

intselect;

charf;

do{

cin>>select;

switch(select){case1:

m[num1].addmanager();

num1++;

break;

case2:

w[num2].addwork();

num2++;

break;

default:

 

f=exit();

}while(select!

=1&&select!

=2||f=='n');

voidjiludelete(){

managert1;

workt2;

inti,j;

stringid1,id2;

charb,f;

do{

cin>>id2;

if(foundhao(id2)==0){cout<<"

对不起!

没有这个工人的记录";return;}

cout<<"你要删除的信息是:

"<

 

foundid(id2);

cout<<"

确定要删除该记录?

y/n\n";

cin>>b;

if(b=='n')return;

if(foundhao(id2)==1){

if(m[0].getid()==id2&&num1==1)m[0].clean();

elseif(m[num-1].getid()==id2)m[num1-1].clean();

else

{for(i=0;i

if(m[i].getid()==id2&&num1!

=1){

t1=m[i];

for(j=i;j

m[j]=m[j+1];}

num1--;

elseif(foundhao(id2)==2){

if(w[0].getid()==id2&&num2==1)w[0].clean();

elseif(w[num-1].getid()==id2)w[num2-1].clean();

else

{for(i=0;i

if(w[i].getid()==id2&&num2!

=1){

t2=w[i];

for(j=i;j

w[j]=w[j+1];}

num2--;

num--;

f=exit();

}while(f=='n');

voidchange(){

stringid2,str;

intt,j,k;

charf;

do{

cout<<"请输入要修改信息的职工号:

\t";

cin>>id2;

 

elseif(foundhao(id2)==1){

cout<<"

要修改职工号的信息:

\t";

foundid(id2);

for(t=0;t

if(m[t].getid()==id2){

cout<<"修改的选项:

1职工号2姓名3性别4工资5出生日期6工

作时间"<<'\t';

cin>>j;

switch(j){

case1:

cout<<"

新的职工号:

\t";cin>>str;m[t].setid(str);break;

case4:

case2:

cout<<"

case3:

cout<<"

cout<<"

case5:

cout<<"

新的姓名:

\t";cin>>str;m[t].setname(str);break;

新的性别(1.男\t2.女)";cin>>k;m[t].setsex(k);break;

新的工资:

\t";cin>>k;m[t].setsalary(k);break;

新的出生日期

:

\t";cin>>k;m[t].setbirth(k);break;

 

 

case6:

 

default:

cout<<"error"<

m[t].display();

elseif(foundhao(id2)==2){

cout<<"

要修改职工号的信息:

\t";

foundid(id2);

for(t=0;t

if(w[t].getid()==id2){

 

cout<<"修改的选项:

1职工号2姓名3性别4工资5出生日期

作时间"<<'\t';

cin>>j;

switch(j){case1:

cout<<"

"<>str;w[t].setid(str);break;

case2:

cout<<"新的姓名"<>str;w[t].setname(str);break;

case3:

女)"<>k;w[t].setsex(k);break;

case4:

cout<<"新的工资"<>k;w[t].setsalary(k);break;

case5:

cout<<"

"<>k;w[t].setbirth(k);break;

case6:

cout<<"

"<>k;w[t].setworktime(k);break;

default:

cout<<"error"<

w[t].display();

f=exit();

}while(f=='n');

voidfound(){

inta;

stringi;

charse,f;

do{

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

1职工号2姓名3

年龄\t";

cin>>se;

switch(se){

case'1':

cout<<"请输入要查找的职工号:

"<<'\t';

cin>>i;cout<<"你要查询的人的信息如下:

"<

case'2':

cout<<"请输入要查找的姓名:

"<<'\t';

cin>>i;cout<<"你要查询的人的信息如下:

"<

case'3':

cout<<"请输入要查找的年龄"<<'\t';

cin>>a;cout<<"你要查询的人的信息如下:

"<

default:

cout<<"没有此选项,请重新选择"<

f=exit();

 

}while(se!

='1'&&se!

='2'&&se!

='3'||f=='n');

intfoundhao(stringid1){

inti,j;

for(i=0;i

if(m[i].getid()==id1){

return1;

for(j=0;j

if(w[j].getid()==id1){

return2;

return0;

voidfoundid(stringid1){

inti,j;

intflage=0;

for(i=0;i

if(m[i].getid()==id1){

m[i].display();

flage=1;

for(j=0;j

if(w[j].getid()==id1){

w[j].display();

flage=1;

if(flage==0)cout<<"对不起!

没有找到\t";

voidfoundname(stringn){

inti,j;

intflage=0;

for(i=0;i

if(m[i].getname()==n){

m[i].display();

flage=1;

for(j=0;j

if(w[j].getname()==n){

w[j].display();

flage=2;

voidfoundage(inta){

inti,j;

intflage=0;

for(i=0;i

if(m[i].getage()==a){

m[i].display();

flage=1;

for(j=0;j

if(w[j].getage()==a){

w[j].display();

flage=2;

 

stringoutsex(tsexs){

 

stringoutposition(ints){

elsereturn"工人";

voidlistbiao(){

inti,j,z;

cout<<"请选择输出类别:

1主管类2工人类3全部信息"<

cin>>z;

cout<<"id"<<'\t'<<"name"<<'\t'<<"sex"<<'\t'<<"salary"<<'\t'<<"birthday"<<'\t'<<"worktime"<<'\t'<<"age"<<'\t'<

switch(z){

case1:

for(i=0;i

break;

case2:

for(j=0;j

展开阅读全文
相关搜索

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1