人事管理系统说明书.doc_第1页
人事管理系统说明书.doc_第2页
人事管理系统说明书.doc_第3页
人事管理系统说明书.doc_第4页
人事管理系统说明书.doc_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、*实践教学*理工大学计算机与通信学院2012 年春季学期算法与数据结构课程设计题目:人事管理专业班级:软件工程基地班姓名:学号:10250139指导教师:王旭阳成绩: _目录摘要11. 采用类 C语言定义相关的数据类型 . . 22.各模块的伪码算法23.函数的调用关系图164. 调试分析165. 测试结果176. 源程序(带注释)22总结44参考文献46致47附件任务一源程序代码48摘要在 Internet 飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。人事管理系统已成为企事业单位信息化管理中的重要组成部分,从而倍受人们

2、的重视。为了提高企事业单位的办公效率,并为了对自己这两年来学习成果的检验。我这次选择了基于 VC+和算法与数据结构的人事管理系统, 讲述了人事管理系统的设计、结构组成和适用围。它的应用实现了人事管理的规化,数据的准确量化,以及该系统的查询过程等。该系统是一个具有开放性、可查询性和可维护处理性的管理系统。系统功能齐全、操作简单、界面清晰直观、扩充方便。关键词人事管理系统; VC+;人事管理。1. 采用类 c 语言定义相关的数据类型public:int No;int ID;string Name;string Sex;int Birthday;string Address;int Phone;vo

3、id input()2. 各模块的伪码算法1、录入模块void insert()/录入数据int n;while(1)cout请输入部门的代码 : 1- 人事部2- 维修部3 销售部 n;if(n=1|n=2|n=3)if(n=1)doStaff *p;p=new Staff;p-bumen.show();p-input();p-bumen.input();int q;dofor(int i=0;iNo=p-No)cout 此工作号已存在 ! 请修改 !input();p-bumen.input();q+;break;while(q!=0);for(int j=0;jN;j+)if(Pj=NU

4、LL)Pj=p;cout 输入成功 !endl;break;coutn;while(n=1);else if(n=2)doStaff *a;a=new Staff;a-bumen.show();a-input();a-bumen.input();int q;dofor(int i=0;iNo=a-No)cout 此工作号已存在 ! 请修改 !input();a-bumen.input();q+;break;while(q!=0);for(int j=0;jN;j+)if(Mj=NULL)Mj=a;cout 输入成功 !endl;break;coutn; while(n=2);else if(n

5、=3)doStaff *s;s=new Staff;s-bumen.show();s-input();s-bumen.input();int q;dofor(int i=0;iNo=s-No)cout 此工作号已存在 ! 请修改 !input();s-bumen.input();q+;break;while(q!=0);for(int j=0;jN;j+)if(Sj=NULL)Sj=s;cout输入成功 !endl;break;coutn; while(n=3);break;2、显示模块void show()/显示数据int n;while(1)cout请输入部门的代码: 1-人事部2-维修部

6、3 销售部n;if(n=1|n=2|n=3)if(n=1)Staff *p;coutoutendl;for(int j=0;joutput();p-bumen.output();break;else if(n=2)Staff *a;coutoutendl;for(int i=0;ioutput();a-bumen.output();break;else if(n=3)Staff *s;coutoutendl;for(int i=0;ioutput();s-bumen.output();break;else if(n=0) break;3、查找模块void find()/查找数据string n

7、;cout输入你要查找 n;for(int j=0;jName)=n)Pj-bumen.show();coutoutoutput();Pj-bumen.output();break;for(j=0;jName)=n)Mj-bumen.show();coutoutoutput();Mj-bumen.output();break;for(j=0;jName)=n)Sj-bumen.show();coutoutoutput();Sj-bumen.output();break;4、删除模块void Delete()/删除数据string n;int m;cout输入你要查找 n;cout 请输入该员工

8、所在的部门的代码 : 1- 人事部 2- 维修部 3 销售部 m;if(m=1)for(int j=0;jName)=n)coutoutoutput();Pj-bumen.output();Pj=NULL;cout 该员工已被删除 !endl;break;if(m=2)for(int j=0;jName)=n)coutoutoutput();Mj-bumen.output();Mj=NULL;cout该员工已被删除 !endl;break;if(m=3)for(int j=0;jName)=n)coutoutoutput();Sj-bumen.output();Sj=NULL;cout该员工已

9、被删除 !endl;break;5、修改模块void revise()/修改数据string n;int m;cout输入你要查找 n;cout请输入该员工所在的部门的代码: 1-人事部2-维修部3 销售部 m;if(m=1)for(int j=0;jName)=n)coutoutoutput();Pj-bumen.output();Pj-input();Pj-bumen.input();cout 该员工修改成功 !;break;if(m=2)for(int j=0;jName)=n)coutoutoutput();Mj-bumen.output();Mj-input();Mj-bumen.i

10、nput();cout该员工修改成功 !;break;if(m=3)for(int j=0;jName)=n)coutoutoutput();Sj-bumen.output();Sj-input();Sj-bumen.input();cout该员工修改成功 !;break;6 清空模块void clear()/清空数据 int n,a=1; docout 请输入密码 0返回界面 n;if(n=a)for(int i=0;iN;i+)Pi=NULL;Mi=NULL;Si=NULL;cout 所有员工的资料已被删除!endl;break;else cout输入密码失败 !endl;while(n!

11、=0);7、保存模块void save()/保存数据ofstream output_file;ofstream output_file1;ofstream output_file2;ofstream output_file3;cout 正在保存中 .endl;output_file.open(Personnel.txt);if(!output_file)cout保存 Personnel 文件失败 !endl;for(int i=0;iN;i+)if(Pi!=NULL)output_fileNoSexNameID Birthday Address Phone bumen.Job bumen.Pa

12、yendl;b1+;output_file2.open(Maintain.txt);if(!output_file2)cout保存 Maintain文件失败 !endl;for( i=0;iN;i+)if(Mi!=NULL)output_file2NoSexNameID Birthday Address Phone bumen.Job bumen.Payendl;b2+;output_file3.open(Sell.txt);if(!output_file3)cout保存 Sell 文件失败 !endl;for( i=0;iN;i+)if(Si!=NULL)output_file3NoSexN

13、ameID Birthday Address Phone bumen.Job bumen.Payendl;b3+;output_file1.open(kongzhi.txt);output_file1b1 b2 b3endl;/保存数据条数output_file1.close();output_file.close();output_file2.close();output_file3.close();cout 保存完毕 !endl; 、3. 函数的调用关系图人事管理系统录显查删修清保退录显查删修清保入示找除改空存退员员员员员员员出工工工工工工工系信信信信信信信统息息息息息息息4. 调试分析a

14、、调试中遇到的问题及对问题的解决方法.cppc:documentsand桌 面1.cpp(27) : error C2018: unknown character 0xa1c:documentsand桌 面1.cpp(27) : error C2018: unknown character 0xa2c:documentsand桌 面1.cpp(27) : error C2018: unknown character 0xa1c:documentsand桌 面1.cpp(27) : error C2018: unknown character 0xa2执行 cl.exe时出错人事管理系统人事管理

15、系统人事管理系统人事管理系统经反复检查确认,检查程序第 27 行中的代码中多余输入了某些标点符号,经改正后程序编译显示没有错误。b、算法的时间复杂度和空间复杂度该算法的时间复杂度为:O(n)该算法的空间复杂度为:608KB5. 测试结果人事管理系统(1)、人事管理系统界面(2)、员工信息的录入(3)、员工信息的显示(4)、员工信息的查找(5)、员工信息的删除(6)、员工信息的修改(7)、员工信息的清空(8)、员工信息的保存(9)、系统的退出6. 源程序(带注释)/basic.h#includestring#includeiostream#include iomanipusing namespa

16、ce std;class Basepublic:int No;int ID;string Name;string Sex;int Birthday;string Address;int Phone;void input()cout 输入员工的工作号 :No;cout 输入员工的 :Name;cout 输入员工的性别 :Sex;cout 输入员工的身分证 :ID;cout 输入员工的生日 :Birthday;cout 输入员工的家庭住址 :Address;cout 输入员工的家庭 :Phone;void output()coutsetiosflags(ios:left)setw(8)Nosetw

17、(8)Namesetw(6)Sexsetw(8)IDsetw(10)Birthdaysetw(8)Addresssetw(10)Phone;/branch.h#includeiostream#includestring#include iomanipusing namespace std;class Personnel/人事部public:virtual void show()cout 人事部 endl;string Job;int Pay;void input()cout 请输入该员工的职务 Job;cout 请输入该员工的薪水 Pay;void output()coutsetiosflag

18、s(ios:left)职务 :setw(6)Job 薪水 :setw(6)Payendl;class Maintain:public Personnel / public:维修部virtual void show()cout维修部 endl;class Sell:public Personnel /public:virtual void show()cout 销售部 endl;销售部;template class Branchpublic:Type bumen;/staff.h#includeiostreamusing namespace std;template class Staff :

19、public Base, public Branch;/ 头文件#includestring#include#includecstdio#includeconio.h#includefstream#includeiostream#includestdlib.h#define N 100using namespace std;Staff *PN;Staff *MN;Staff*SN;const int SIZE_CHAR = 5;const char CCH = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ;int b1=0,b2=0,

20、b3=0;/导入数据条数string m()/随机生字母char chSIZE_CHAR + 1 = 0;for (int i = 0; i SIZE_CHAR; +i)int x = rand() % (sizeof(CCH) - 1);chi = CCHx;return ch;ostream& out(ostream& stream)/操纵符return stream setiosflags(ios:left)setw(8) 工作号 setw(8)setw(6)性别setw(8)身分证setw(12)生日 setw(8)地址 setw(10)部门;void insert()/int n;w

21、hile(1)录入数据cout请输入部门的代码: 1-人事部2-维修部3 销售部 n;if(n=1|n=2|n=3)if(n=1)doStaff *p;p=new Staff;p-bumen.show();p-input();p-bumen.input();int q;dofor(int i=0;iNo=p-No)cout 此工作号已存在 ! 请修改 !input();p-bumen.input();q+;break;while(q!=0);for(int j=0;jN;j+)if(Pj=NULL)Pj=p;cout 输入成功 !endl;break;coutn;while(n=1);else

22、 if(n=2)doStaff *a;a=new Staff;a-bumen.show();a-input();a-bumen.input();int q;dofor(int i=0;iNo=a-No)cout 此工作号已存在 ! 请修改 !input();a-bumen.input();q+;break;while(q!=0);for(int j=0;jN;j+)if(Mj=NULL)Mj=a;cout 输入成功 !endl;break;coutn; while(n=2);else if(n=3)doStaff *s;s=new Staff;s-bumen.show();s-input();

23、s-bumen.input();int q;dofor(int i=0;iNo=s-No)cout 此工作号已存在 ! 请修改 !input();s-bumen.input();q+;break;while(q!=0);for(int j=0;jN;j+)if(Sj=NULL)Sj=s;cout输入成功 !endl;break;coutn; while(n=3);break;void show()/显示数据int n;while(1)cout请输入部门的代码: 1-人事部2-维修部3 销售部n;if(n=1|n=2|n=3)if(n=1)Staff *p;coutoutendl;for(int

24、 j=0;joutput();p-bumen.output();break;else if(n=2)Staff *a;coutoutendl;for(int i=0;ioutput();a-bumen.output();break;else if(n=3)Staff *s;coutoutendl;for(int i=0;ioutput();s-bumen.output();break;else if(n=0) break;void find()/查找数据string n;cout输入你要查找 n;for(int j=0;jName)=n)Pj-bumen.show();coutoutoutpu

25、t();Pj-bumen.output();break;for(j=0;jName)=n)Mj-bumen.show();coutoutoutput();Mj-bumen.output();break;for(j=0;jName)=n)Sj-bumen.show();coutoutoutput();Sj-bumen.output();break;void Delete()/删除数据string n;int m;coutn;endl;cout 请输入该员工所在的部门的代码m;if(m=1)for(int j=0;jName)=n)coutoutoutput();Pj-bumen.output()

26、;Pj=NULL;cout 该员工已被删除 !endl;break;if(m=2)for(int j=0;jName)=n)coutoutoutput();Mj-bumen.output();Mj=NULL;cout该员工已被删除 !endl;break;if(m=3)for(int j=0;jName)=n)coutoutoutput();Sj-bumen.output();Sj=NULL;cout该员工已被删除 !endl;break;void revise()/修改数据string n;int m;cout输入你要查找 n;cout 请输入该员工所在的部门的代码 : 1- 人事部 2-

27、维修部 3 销售部 m;if(m=1)for(int j=0;jName)=n)coutoutoutput();Pj-bumen.output();Pj-input();Pj-bumen.input();cout 该员工修改成功 !;break;if(m=2)for(int j=0;jName)=n)coutoutoutput();Mj-bumen.output();Mj-input();Mj-bumen.input();cout该员工修改成功 !;break;if(m=3)for(int j=0;jName)=n)coutoutoutput();Sj-bumen.output();Sj-in

28、put();Sj-bumen.input();cout该员工修改成功 !;break;void clear()/清空数据 int n,a=1; docout 请输入密码 n;if(n=a)for(int i=0;iN;i+)返回界面endl;Pi=NULL;Mi=NULL;Si=NULL;cout 所有员工的资料已被删除!endl;break;else cout输入密码失败 !endl;while(n!=0);void save()/保存数据ofstream output_file;ofstream output_file1;ofstream output_file2;ofstream output_file3;cout 正在保存中 .endl;output_file.open(Personnel.txt);if(!output_file)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论