ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:60.06KB ,
资源ID:4651339      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4651339.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计之人事管理系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课程设计之人事管理系统.docx

1、课程设计之人事管理系统南京航空航天大学面向对象程序设计语言课程设计报告人 事 管 理 系 统学号:040830307姓名:曾雪峰日期:2009-4-5一、需求分析: 二、程序的主要功能: 三、程序运行平台: 四、 系统总框架图 五、程序类的说明: 六、模块分析 七、比较有特色的函数 八、存在的不足与对策 九、编程体会 十、程序源代码 一、需求分析开发这个人事管理系统是为了实现公司员工的管理,一个公司会有很多员工,管理和储存这些员工的资料信息就需要耗费一定的人力,而开发这个系统是为了一方面可以减少工作员工的数量降低成本,从而大大提高了工作效率,同时又方便了员工信息的管理。使得公司对员工信息的管理

2、更加方便快捷。 系统主要实现员工基本信息的添加,删除,修改,查找,显示和修改等_基本功能二、程序的主要功能1、添加功能:可以完成员工的添加,可以添加员工的基本信息,包括员工的姓名,性别,生日,工作证号,职务,薪水,工作部门,电话号码和地址等信息。2、删除功能可以根据员工的姓名删除员工信息,删除的时候根据用户输入的姓名查找到需要删除的员工的信息,并将员工的信息删除。3、显示功能:可以将所有员工的基本信息显示出来4、查找功能:根据用户输入的姓名查找所需的员工的信息,并将其信息输出在屏幕上面。5、修改功能:根据员工的姓名查找的需要修改的员工的信息,并将其信息输出出来,输入修改后的员工的信息,就可以完

3、成对员工数据的修改。6退出功能 用户在完成操作之后可退出系统,此时系统将把新的信息存入文件并退出三、程序运行平台该程序是用VC+6.0制做的,使用Microsoft Visual C+ 6.0运行该程序,具体操作是:打开Microsoft Visual C+ 6.0,菜单栏里点文件打开工作区找到“人事管理系统.dsw”这个文件打开,或者在资源管理器中双击该文件,此时,VC+6.0会自动打开,并载入该系统相关资源,点击Run命令菜单或者或用快捷键Ctrl+F5运行该程序。四、 系统总框架图 五、程序类的说明 Date类的声明class DatePublic:Date(int y=0,int m=

4、0,int d=0):day(d),month(m),year(y) /Date类的构造函数 friend istream & operator (istream &in,Date &da)/重载friend ostream & operator (ostream &out,Date &da)/重载void operator =( Date &d2) /重载=private: int year; int month; int day; ; people类的声明class people public: people(); /people类的构造函数 friend ostream & operat

5、or (istream &in,people &p); /重载“” void set(people *p1); /people类的设置函数 char *getname(); /获得姓名 char *getsex(); /获得性别 char *getid(); /获得id char *gettelephone(); /获得电话号码 Date getbirthday(); /获得生日 char *getnumber(); /获得工作证号 char* getname()return name; /获得姓名 char* getsex() return sex; /获得性别 char* getid()r

6、eturn id; /获得id char* gettelephone()return telephone; /获得电话号码 Date getbirthday() return birthday; /获得生日 char* getnumber()return number; /获得工作证号 void setname(char name120)strcpy(name,name1); /设置姓名 void setsex(char sex15)strcpy(sex,sex1); /设置性别 void setid(char id120) strcpy(id,id1); /设置id void setnumb

7、er(char number120)strcpy(number,number1); /设置工作证号 void setaddress(char address120) strcpy(address,address1); /设置家庭地址 void settelephone(char telephone120)strcpy(telephone,telephone1); /设置电话号码 void setbirthday(Date birthday1)birthday=birthday1; /设置出生日期 void setsalary(char salary120) strcpy(salary,sala

8、ry1); /设置薪水 void setpost(char post120) strcpy(post,post1); /设置职务 void setdepartment(char department120) strcpy(department,department1); /设置工作部门 friend class List;protected: char name20; /姓名 char sex5; /性别 char id20; /身份证号 char telephone10; /电话号码 Date birthday; /出生日期 char number20; /工作证号 char address

9、100; /家庭地址 char salary10; /薪水 char post20; /职务 char department30; /工作部门 public: people *next; /下一个节点; List类的声明class List people *phead; /链表头public: List()phead=0; /List类的构造函数 List()DeleteList(); / List类的析构函数 void AddNode(people *pnode); /插入到链表头 people *DeleteNode(people*); /从链表中删除 people *LookUp(peo

10、ple&); /查找结点 void ShowList(); /显示链表 people *GetListHead()return phead;/返回链表头 people *GetListNextNode(people *pnode);/返回下一结点; Peoplelist类的声明 class peoplelist: public people public: peoplelist(); /peoplelist类的构造函数void add(); /添加函数void display(); /显示函数void find(); /查找函数void modify(); /修改函数void remove()

11、; /删除函数int judge(char namekey8);/,密码的判断函数void Load();/登陆函数private:people *phead; /链表头类功能的简单说明: 系统共建立了四个类,其中Date是生日类,类中声明提取运算符重载的函数为友员函数,用来执行生日的输入和输出工作,people类是员工类,类的数据成员是员工的各种信息,并包含data类的成员实现了类的组合,people同样声明了提取运算符重载的函数为友员函数用来完成,list是链表类,链表的思路是从头结点开始建,每当新增加一个类节点时,就把新增结点加到链表首部,并用链表完成节点的查找删除等功能。Peoplel

12、ist类是people类的派生,类中的函数通过调用list类中的函数实现各种功能 六、模块分析1. 添加模块用户根据系统的提示输入员工的信息,系统将新添加的员工的信息插入链表。2. 显示模块显示模块的功能是将所有员工的信息输出。3. 修改模块在修改模块用户先输入需要修改的员工的姓名,然后系统会根据用户输入的姓名查找到需要修改的员工并将找到的员工的信息输出来,然后系统提示用户输入修改后的员工的信息,系统就会将原有的信息修改。4. 查找模块用户输入要查找的员工姓名,系统调用查找函数根据其输入的信息查找此员工,查找到该员工就将员工的信息输出在屏幕上,查找不到就输出找不到该员工。并且有些有效性的检验。

13、 5. 删除模块用户输入要删除的员工姓名,系统调用删除函数根据输入的姓名查找需要删除的员工,然后将此员工的信息从资料中删除七、比较有特色的函数1重载友元函数friend ostream & operator (ostream &out,people p); /重载“(istream &in,people &p); /重载“”说明:在类people中声明了重载流提取运算符的函数为友元函数,用来完成员工信息的输入和输出:2 类的组合.People类的成员中包含Data类的对象 ,在people类的重载友元函数中调用了Data类的重载友元函数实现流体去运算符对people类的输入和输出功能.3友元类

14、 程序中的链表类即List类被声明为people类的友元类,并在List类的私有成员中定义了people类的头指针,然后通过的链表的操作完成添加,删除等各项功能。4类的派生 程序的peoplelist类是people类的派生,通过调用链表类的函数完成添加员工信息,删除员工信息等操作。5 List类的析构函数List()DeleteList();说明:程序结束是系统将自动调用List类的析构函数,调用时函数首先完成链表的清空,最后进行对象撤销后的清理工作。6 查找函数void peoplelist:find(List &TelList)说明:peoplelist类的成员函数,通过调用List类的

15、函数遍历链表,并用strcmp比较姓名,如果姓名相同就通过调用运算符重载函数输出次员工的信息。八、存在的不足与对策这个人事管理系统的开发的面对的对象是公司人事管理部门,然而系统面对对象的局限性也决定了系统在投入使用时的缺陷,及系统不仅仅应该仅仅用于公司的部门,还应该开发面向员工的系统,这样不同职务的员工可以及时掌握公司的员工信息,方便对下级员工的调度及时。解决的就是运行程序 时确定是员工还是管理部门,然后分别进入不同的系统,而员工系统的编写则与管理部门系统大体相同。本程序实现的功能不是很多,仅仅设立了通过姓名来查找,缺少了像通过管理部门或者其他方面来查找。另外系统的开发使用的过程中要不断地为维

16、护,而对于这一点我将在以后的学习中对系统作出不断地改进。九、编程体会 这是我第一次做课设,以前都是写了一些小的程序,总感觉还不是很难,虽然写的时候有些问题,但是最终都可以解决,并且还可以理解。但做课设时让自己感觉到了从来没有的自卑,感觉啥也不会了,很多东西无法有效地联结起来,并且我们不得不运用文件,类以及类的高级部分等新学的知识,更增加了作业的难度。而且在在运用链表等上学期的知识时更是问题百出,我不得不请教同学,不断地看书本来解决那些问题。这次做课设让我知道了自己的不足,帮助我找到了自己在哪些方面不是很理解,同时也让自己树立了在以后的日子里奋斗了目标。十、程序源代码List.h#include

17、people.hclass List people *phead; public: List()phead=0; /构造函数 List()DeleteList(); void AddNode(people *pnode); /添加新员工信息 people *DeleteNode(people*); people *LookUp(people&); void ShowList(); /显示员工信息 void DeleteList(); /删除员工信息 people *GetListHead()return phead; people *GetListNextNode(people *pnode)

18、; List.cpp#includeList.hvoid List:AddNode(people *pnode)/在首部添加结点 if(phead=0) phead=pnode; pnode-next=0; return; else pnode-next=phead; phead=pnode; people *List:DeleteNode(people *pnode) people *p1,*p2; p1=phead; while(p1!=pnode & p1-next!=0) p2=p1; p1=p1-next; if(p1=phead) phead=phead-next; return

19、pnode; else p2-next=p1-next; return pnode; people *List:LookUp(people &pnode) people *p1=phead; while(p1!=NULL) if(strcmp(p1-name,pnode.name)=0) return p1; p1=p1-next; return 0;void List:ShowList() people *p1=phead; while(p1) coutnext; void List:DeleteList() people *p1,*p2; p1=phead; while(p1) p2=p1

20、; p1=p1-next; delete p2; people *List:GetListNextNode(people *pnode) people *p1=pnode; return p1-next;Date.h#includeusing namespace std;class Date / Date类的声明 public: Date(int y=0,int m=0,int d=0):day(d),month(m),year(y) /Date类的构造函数 friend istream & operator (istream &filein,Date &da) cout 出生日期:endl请

21、输入整数!da.year; cout da.month; cout da.day; return filein; friend ostream & operator (ostream &fileout,Date &da) /在这个类里分别重载了,=,体现了类的多态性 fileoutyear:da.year; fileout month:da.month; fileout day:da.dayyear=d2.year; this-month=d2.month; this-day=d2.day; private: int year; int month; int day; ; People.h#i

22、ncludeDate.hclass people public: people() /people类的构造函数 friend ostream & operator (ostream &out,people &p) /重载 out员工的信息:n姓名:p.name; out 性别: p.sexendl; out 出生日期:p.birthdayendl; outt身份证号:p.idendl; outt工作证号:p.numberendl; outt家庭地址:p.addressendl; outt电话号码:p.telephoneendl; outt工作部门:p.departmentendl; outt职

23、务:p.postendl; outt薪水:p.salary(istream &filein,people &p) /重载 cout员工的信息:p.name; coutp.sex; coutp.birthday; coutp.id; coutp.number; coutp.address; coutp.department; coutp.post; coutp.salary; coutp.telephone; return filein; void set(people *p1); /people类的设置函数 char* getname()return name; /获得姓名 char* get

24、sex() return sex; /获得性别 char* getid()return id; /获得id char* gettelephone()return telephone; /获得电话号码 Date getbirthday() return birthday; /获得生日 char* getnumber()return number; /获得工作证号 void setname(char name120)strcpy(name,name1); /设置姓名 void setsex(char sex15)strcpy(sex,sex1); /设置性别 void setid(char id1

25、20) strcpy(id,id1); /设置id void setnumber(char number120)strcpy(number,number1); /设置工作证号 void setaddress(char address120) strcpy(address,address1); /设置家庭地址 void settelephone(char telephone120)strcpy(telephone,telephone1); /设置电话号码 void setbirthday(Date birthday1)birthday=birthday1; /设置出生日期 void setsal

26、ary(char salary120) strcpy(salary,salary1); /设置薪水 void setpost(char post120) strcpy(post,post1); /设置职务 void setdepartment(char department120) strcpy(department,department1); /设置工作部门 friend class List; char name20; /姓名 char sex5; /性别 char id20; /身份证号 char telephone20; /电话号码 Date birthday; /出生日期 char number20; /工作证号 char address20; /家庭地址 char salary20; /薪水 char post20; /职务 char department

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

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