大学人事管理系统范文.docx

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

大学人事管理系统范文.docx

《大学人事管理系统范文.docx》由会员分享,可在线阅读,更多相关《大学人事管理系统范文.docx(44页珍藏版)》请在冰点文库上搜索。

大学人事管理系统范文.docx

大学人事管理系统范文

河南城建学院

HenanUniversityofUrbanConstruction

《面向对象语言程序设计》

课程设计报告

 

学号:

姓名:

专业:

计算机科学与技术

题目:

高校人事管理系统

指导老师:

设计时间:

第十七周

计算机科学与工程学院

2014年6月

目录

第一章需求分析2

第二章总体设计3

2.1系统功能模块3

2.2类之间的关系4

第三章各功能模块实现5

3.1模块实现及代码5

3.2运行结果12

第四章系统调试15

第五章总结与体会15

参考文献17

附录18

第一章需求分析

高校人事管理,高校在有职人员(行政人员、教师、一般员工)、退休人员、返聘人员和临时工。

现在,需要存储这些人员的人事档案信息:

编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间。

要求:

1)添加删除功能:

能根据学院人事的变动情况,添加删除记录;

2)查询功能:

能根据编号和姓名进行查询;

3)编辑功能(高级):

根据查询对相应的记录进行修改,并存储;

4)统计功能:

能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数);

5)保存功能:

能对输入的数据进行相应的存储,要求重载插入和提取符以完成数据的保存和打开。

6)人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。

第二章总体设计

2.1系统功能模块

系统流程图

12

34

56

87

 

系统功能分析

执行程序后,按界面的显示,选择1—8种操作。

选1,增加人员资料,资料包括编号、职工类别、姓名、性别、年龄、来院时间、职务、职称、党派、学历。

选2,删除人员信息。

选3,修改人员信息,可以选择要修改的内容。

选4,查询人员信息,可按编号或姓名查询。

选5,数据存盘。

选6,数据装入。

选7,显示所有信息。

选8,退出。

 

系统功能模块划分与设计

 

 

2.2类之间的关系

定义了8个类,分别为人员类(personnel类),临时工类(casuallaborer类),进入时间类(cometime类),在职人员类(incumbency类),退休时间类(retiretime类),退休人员类(retiree类),返聘时间类(retime类),返聘人员类(returnee类)等。

同时又定义一个school类,在里面实现数据的添加、删除、修改、查找、显示和退出。

*

第三章各功能模块实现

3.1模块实现及代码

添加功能

voidadd()//添加新信息

{

inti,a,b;

person*p1=myfirst;

if(p1==NULL)

{

cout<<"请输入编号:

";

cin>>i;

printf(i);

}

else

{

if(p1->getnext()==NULL)//如果p1的后继指针为空,则执行“printf(a)”

{

a=p1->getnum()+1;

printf(a);

}

else

{

while(p1->getnext()!

=NULL)//p1的后继指针不为空,则执行“printf(b)”

{

p1=p1->getnext();

}

b=p1->getnum()+1;

printf(b);

}

}

}

删除功能

boolremovedatnum()

{

intbh;

person*ahead=myfirst;

person*follow=ahead;

cout<<"请输入要删除人员的编号:

";

cin>>bh;

if(ahead==NULL)

returnfalse;

else

if(ahead->getnum()==bh)

{

myfirst=myfirst->getnext();

cout<<"编号为"<

deleteahead;

returntrue;

}

else

{

ahead=ahead->getnext();

while(ahead!

=NULL)

{

if(ahead->getnum()==bh)

{

follow->setnext(ahead->getnext());

cout<<"编号为"<

deleteahead;

returntrue;

}

follow=ahead;

ahead=ahead->getnext();

}

cout<<"要删除的成员不存在!

"<

returnfalse;

}

}

修改功能

boolupperson()

{

intiid;

person*ahead=myfirst;

person*follow=ahead;

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

";

cin>>iid;

if(ahead==NULL)

{

cout<<"无人员信息"<

returnfalse;

}

else

{

while(ahead!

=NULL)

{

if(ahead->getnum()==iid)

{

printf1(ahead);

intnu=-1;

for(inti=1;nu!

=0;i++)

{

intml;

intmll;

charty[30];

cout<<"请选择要修改的内容:

"<

cout<<"1:

姓名2:

性别3:

年龄4:

职工类型5:

职务"<

cout<<"6:

职称7:

学历8:

政治面貌9:

来院时间"<

cout<<"选择(1-10):

";

cin>>ml;

switch(ml)

{

case1:

{

cout<<"请输入姓名:

";

cin>>ty;

strcpy(follow->getname(),ty);

};break;

case2:

{

cout<<"请输入性别:

";

cin>>ty;

strcpy(ahead->getsex(),ty);

};break;

case3:

{

cout<<"请输入年龄:

";

cin>>mll;

ahead->getag(mll);

};break;

case4:

{

cout<<"请输入职工类型:

";

cin>>ty;

strcpy(ahead->gettype(),ty);

};break;

case5:

{

cout<<"请输入职务:

";

cin>>ty;

strcpy(ahead->getpos(),ty);

};break;

case6:

{

cout<<"请输入职称:

";

cin>>ty;

strcpy(ahead->gettechpos(),ty);

};break;

case7:

{

cout<<"请输入学历:

";

cin>>ty;

strcpy(ahead->getstudy(),ty);

};break;

case8:

{

cout<<"请输入政治面貌:

";

cin>>ty;

strcpy(ahead->getparty(),ty);

};break;

case9:

{

cout<<"请输入来院时间:

";

cin>>ty;

strcpy(ahead->gettime(),ty);

};break;

}

returntrue;

}

}

else

{

ahead=ahead->getnext();

follow=ahead;

}

}

cout<<"没有此人"<

returnfalse;

}

}

查询功能

1.按编号查询

boolfind1()

{

intid;

person*ahead=myfirst;

person*follow=ahead;

cout<<"请输入编号:

"<

cin>>id;

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

if(ahead==NULL)

{

cout<<"无人员信息!

"<

returnfalse;

}

else

{

while(ahead!

=NULL)

{

if(ahead->getnum()==id)

{

printf1(ahead);

returntrue;

}

else

{

follow=ahead;

ahead=ahead->getnext();

}

}

cout<<"无此人信息:

"<

returnfalse;

}

}

2.按姓名查询

boolfind2()

{

charnm[20];

person*ahead=myfirst;

person*follow=ahead;

cout<<"输入姓名";

cin>>nm;

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

if(ahead==NULL)

{

cout<<"无人员信息"<

returnfalse;

}

else

{

while(ahead!

=NULL)

{

if(strcmp(ahead->getname(),nm)==0)

{

printf1(ahead);

returntrue;

}

else

{

follow=ahead;

ahead=ahead->getnext();

}

}

cout<<"查无此人:

"<

returnfalse;

}

}

数据存盘功能

voidsave()

{

ofstreamfperson;

fperson.open("person.txt",ios:

:

out);

person*p=myfirst;

while(p)

{

fperson<getnum()<<"\t"<gettype()<<"\t"<getname()<<"\t"<getsex()<<"\t"<getage()<<"\t"<gettime()<<"\t"<getpos()<<"\t"<gettechpos()<<"\t"<getparty()<<"\t"<getstudy();

fperson<

p=p->getnext();

}

fperson.close();

cout<<"保存数据已经完成"<

}

数据装入功能

voidload()

{

intnnum,nage;

charntype[20],nname[20],nsex[20],ntime[20],npos[20],ntechpos[20],nparty[20],nstudy[20];

ifstreamfperson;

fperson.open("person.txt",ios:

:

in);

while(fperson.good())

{

fperson>>nnum>>ntype>>nname>>nsex>>nage>>ntime>>npos>>ntechpos>>nparty>>nstudy;insertatlast(nnum,ntype,nname,nsex,nage,ntime,npos,ntechpos,nparty,nstudy);

}

fperson.close();

cout<<"\n人员和相关数据已经装入.....\n";

}

显示功能

voidprintf()

{

person*ahead=myfirst;

cout<<"编号---姓名---性别---年龄---职工类型---职务---职称---学历---政治面貌---来院时间\n"<

while(ahead!

=NULL){cout<

:

left)<getnum()<

:

left)<getname();cout<

:

left)<getsex()<

:

left)<getage();cout<

:

left)<gettype()<

:

left)<getpos();cout<

:

left)<gettechpos()<

:

left)<getstudy();

cout<

:

left)<getparty()<

:

left)<gettime()<

ahead=ahead->getnext();

}

}

 

3.2运行结果

 

开始菜单界面:

 

添加人员信息界面:

 

统计人员信息界面:

 

 

人员信息查找界面:

 

 

人员信息删除界面:

 

 

人员修改界面:

 

 

第四章系统调试

系统调试:

通过对程序的调试,发现很多问题只有通过调试以后才能被找到和发现,才能更好的美化和优化,是程序看起来更完美,让使用者更放心

第五章总结与体会

通过本次课程设计,让我对C++这门学科对有了进一步的认识,熟练掌握了类及类模板的应用。

以前对该课程的恐惧感都以消失,任何事情没有做不到只有愿不愿意去做。

刚开始接到该题,心中确实充满困惑。

不过在图书馆和网上找了一些资料看了后,便觉得思路就在眼前了,之前不过就是由于对该课程的恐惧而产生了一定的心里影响而已。

之后凭借那闪现在眼前的点点思路,慢慢在琢磨,终于想出了大体的程序内容。

然后一个一个函数的思考,一步一步的编写,调试,做起来也就越来越顺手了。

通过我的反复思考,程序中的错误得到顺利解决。

函数功能也得到了进一步的完善。

并且在本次课程设计的过程中,让我进一步认识到了团队的力量,只有团结才能发挥出一个集体的力量。

一个人的力量真的好有限,即使个人能力再强,做一个大点的项目,也会力不从心。

只有分工协作才能将事办得越快越好。

通过这次课程设计,会为我们以后进入社会提供一定的经验。

我们相信在今后的学习真的我们会更加努力,积累经验。

使自己在编程等各方面得到提高。

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。

回顾起此次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,这毕竟独立做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

编写的过程也是我们发现错误的过程,毕竟我们自己专业知识掌握的不够,在设计中走了很多弯路,刚开始是根本无从下手,不知道要干嘛,如果平时课余时间多加强对这些专业知识的学习,那么在这次课程设计中将会少走很多的弯路。

虽然程序完成了,但我感觉里面可能还有很多不完善的地方,通过这次动手设计吧我还是希望自己以后办事的时候要认真,仔细,考虑周全。

这段时间里,我又学到了更多C++程序类知识,同时我也被提醒以后办事的时候要认真,仔细,考虑周全。

参考文献

[1]郑莉、傅仕星编,《C++面向对象程序设计》,清华大学出版社,2003年9月出版

[2]谭浩强编,《C++面向对象程序设计》,清华大学出版社,2005年7月出版

[3]李师贤等译,《C++精髓》,机械工业出版社,2002年8月出版

[4]DavisChapman,《学用Visualc++6.0》,清华大学出版社,2001年7月出版

[5]郑莉、傅仕星编,《C++语言面向对象程序设计习题与实验指导》,清华大学出版社,2003年9月出版。

附录

#include

#include

#include

#include

#include

classperson

{

private:

intno;//编号

chartype[20];//职工类型

charname[20];//姓名

charsex[10];//性别

intage;//年龄

chartime[20];//来院时间

charpos[20];//职务

chartechpos[20];//职称

charparty[20];//党派

charstudy[30];//最高学历

person*mynext;//指针语

public:

person(intnnum,charntype[],charnname[],charnsex[],intnage,charntime[],charnpos[],charntechpos[],charnparty[],charnstudy[]);

person(intnnum,charntype[],charnname[],charnsex[],intnage,charntime[],charnpos[],charntechpos[],charnparty[],charnstudy[],person*next);

voidsetnext(person*next){mynext=next;}

person*getnext(){returnmynext;}

intgetnum(){returnno;}

char*getname(){returnname;}

char*getsex(){returnsex;}

char*getpos(){returnpos;}

char*gettechpos(){returntechpos;}

char*gettime(){returntime;}

char*getparty(){returnparty;}

char*getstudy(){returnstudy;}

intgetage(){returnage;}

voidgetag(intas){age=as;}

char*gettype(){returntype;}

};

person:

:

person(intnnum,charntype[],charnname[],charnsex[],intnage,charntime[],charnpos[],charntechpos[],charnparty[],charnstudy[],person*next)

{

no=nnum;

strcpy(type,ntype);

strcpy(name,nname);

strcpy(sex,nsex);

age=nage;

strcpy(time,ntime);

strcpy(pos,npos);

strcpy(techpos,ntechpos);

strcpy(party,nparty);

strcpy(study,nstudy);

mynext=next;

}

person:

:

person(intnnum,charntype[],charnname[],charnsex[],intnage,charntime[],char

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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