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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

高校人事管理系统.docx

1、高校人事管理系统课程设计报告课程:面向对象程序设计学号: 姓名: 班级: 教师: Xx大学课程设计名称:高校人事管理系统1.设计内容某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员、返聘人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间。要求: 1) 添加删除功能:能根据学院人事的变动情况,添加删除记录;2) 查询功能:能根据编号和姓名进行查询;3) 编辑功能(高级):根据查询对相应的记录进行修改,并存储;4) 统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数);5

2、) 保存功能:能对输入的数据进行相应的存储,要求重载插入和提取符以完成数据的保存和打开。6) 人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。3.3基本功能要求1.功能选择用菜单实现例如:*高校人事管理系统1-增加人员资料2-删除人员信息3-修改人员信息4-查询人员信息5统计人员信息6数据保存7显示所有信息8退出* 请选择:用户通过输入不同的数字进入不同的菜单。次级菜单主要显示本程序的功能,主要的功能有增加人员资料,删除人员信息,修改人员信息,修改人员信息,查询人员信息,统计人员信息,数据保存,显示所有信息和退出功能。2.运行时给出明确的提示信息比如,选择1,系统会提醒用户输

3、入编号,输入完系统会进一步提醒用户输入其他信息和选择,进入相应的选择后会提醒用户选择其他子选择和输入;比如,输入增加人员,又选择“在职人员(行政人员、教师、一般员工)、退休人员、返聘人员和临时工”再输入信息。比如在删除人员信息中又显示“所要删除的编号是”和“无此人员”或“已被删除”等比如在查找人员信息中又显示“所要查找的编号是”或“所要查找的姓名是”和“无此人员”和显示相关信息等。在统计人员信息中又显示 请选择统计对象: 1 在职人数 2 党员人数 3 女工人数 4 高学历高职称人数 请选择:界面来供选择。比如修改功能则会出现下面的界面请选择要修改的内容:1:姓名 2:性别 3:年龄 4:职工

4、类型 5:职务6:职称 7:学历 8:政治面貌 9:来院时间 10:参加工作时间 选择(1-10):在实现完菜单中的子程序功能,系统会提醒用户按任意键继续(就是重新返回到主菜单进行其他操作),最后根据提示信息输入8退出系统,结束本次操作。4.系统结构设计本程序的功能结构如图1所示:图1程序功能结构图5.源程序代码/*/#include#include#include/文件流,数据流输入输出#include /是常用的函数system()、exit()的头文件#include/参数化输入输出是setw()函数的头文件/person类和school类的主体以及主函数由本人和合作者何婷婷共同完成/文

5、中没有标注由谁完成的,代表由本人和合作者何婷婷共同完成class personprivate: int no;/编号 char type20;/ 职员分类 char name20;/姓名 char sex10;/性别 int age;/年龄 char time120;/任职时间 char time220;/来院时间 char pos20;/职务 char techpos20;/职称 char party20;/政治面貌 char study30;/最高学历 person *mynext;/指向下一个指针public: person(int nnum,char ntype,char nname,

6、char nsex,int nage,char ntime1,char ntime2,char npos,char ntechpos,char nparty,char nstudy)/构造函数 no=nnum; strcpy(type,ntype);/字符串的拷贝 strcpy(name,nname); strcpy(sex,nsex); strcpy(time1,ntime1); age=nage; strcpy(time2,ntime2); strcpy(pos,npos); strcpy(techpos,ntechpos); strcpy(party,nparty); strcpy(st

7、udy,nstudy); mynext=NULL;/下一个为空 person(int nnum,char ntype,char nname,char nsex,int nage,char ntime1,char ntime2, char npos,char ntechpos,char nparty,char nstudy,person *next) /构造函数2,即重载 no=nnum; strcpy(type,ntype); strcpy(name,nname); strcpy(sex,nsex); strcpy(time1,ntime1); age=nage; strcpy(time2,n

8、time2); strcpy(pos,npos); strcpy(techpos,ntechpos); strcpy(party,nparty); strcpy(study,nstudy); mynext=next;/下一个为有 void setnext(person *next)/关于next的函数 mynext=next; person *getnext()/指针函数,把数据从被调函数返回到主调函数 return mynext; int getnum() return no; char *getname()/name是数组用指针 return name; char *getsex()/se

9、x是数组用指针 return sex; char *getpos()/pos是数组用指针 return pos; char *gettechpos()/techpos是数组用指针 return techpos; char *gettime1()/time1是数组用指针 return time1; char *gettime2()/time2是数组用指针 return time2; char *getparty()/party是数组用指针 return party; char *getstudy()/study是数组用指针 return study; int getage() return ag

10、e; void getag(int as) age=as; char *gettype()/type是数组用指针 return type; ;/链表类class Schoolprivate: person *myfirst; int firstnum;public: School() myfirst=NULL; School(int nnu,char ntyp,char nnam,char nse,int nag,char ntim1,char ntim2,char npo,char ntechpo,char npart,char nstud) myfirst=new person(nnu,n

11、typ,nnam,nse,nag,ntim1,ntim2,npo,ntechpo,npart,nstud);/动态分配内存创立节点 /初始化 void insertatlast(int nnum,char ntype,char nname,char nsex,int nage,char ntime1,char ntime2,char npos,char ntechpos,char nparty,char nstudy)/成员函数 person *next=myfirst; if(next=NULL) myfirst=new person(nnum,ntype,nname,nsex,nage,n

12、time1,ntime2,npos,ntechpos,nparty,nstudy); else while(next-getnext()!=NULL)/已经有至少一个编号内容 next=next-getnext(); next-setnext(new person(nnum,ntype,nname,nsex,nage,ntime1,ntime2,npos,ntechpos,nparty,nstudy,next-getnext();/调用构造函数2 void printf(int r)/输入函数 *由合作者何婷婷完成 int nage; char ntype20,nname20,nsex20,n

13、time120,ntime220,npos20,ntechpos20,nparty20,nstudy20; cout请输入编号为r的成员的信息endl; cout输入职工分类码poli(行政人员),teac(老师),work(一般人员),outwork(退休人员),rework(返聘人员),timework(临时工):ntype; cout输入姓名:nname; cout输入性别:(女性f,男性m)nsex; cout输入年龄:nage; cout参加工作时间:ntime1; cout输入来院时间:ntime2; cout输入职务no(无),ke(科级),chu(处级),di(地级):npos

14、; cout输入职称no(无),chu(初级),zhong(中级),gao(高级):ntechpos; cout输入加入党派qz(群众),gd(中共党员),mzd(民主党派):nparty; cout输入学历xiao(小学),chu(初中),gao(高中),zhuan(大专),da(大学),suo(硕士),bo(博士):nstudy; insertatlast(r,ntype,nname,nsex,nage,ntime1,ntime2,npos,ntechpos,nparty,nstudy);/调用函数 void printf1(person *ahead)/定义一个指针对象*由本人完成 /s

15、etiosflags(ios:left)左对齐,setw是操作子,设定下一次输出输入宽度 cout编号:setiosflags(ios:left)setw(26)getnum()姓名:getname()endl; cout性别:setiosflags(ios:left)setw(26)getsex()年龄:getage()endl; cout职工类型:setiosflags(ios:left)setw(22)gettype()职务:getpos()endl; cout职称:setiosflags(ios:left)setw(26)gettechpos()学历:getstudy()endl; c

16、out政治面貌:setiosflags(ios:left)setw(22)getparty()来院时间:gettime1()endl; cout参加工作时间:gettime2()endl; void pri()/显示所有信息 *由本人完成 person *ahead=myfirst; cout编号姓名 性别 年龄 职工类型 职务 职称 学历 政治面貌 来院时间 参加工作时间n; while(ahead!=NULL) coutsetiosflags(ios:left)setw(4)getnum()setiosflags(ios:left)setw(6)getname() setiosflags(

17、ios:left)setw(5)getsex()setiosflags(ios:left)setw(4)getage() setiosflags(ios:left)setw(10)gettype()setiosflags(ios:left)setw(6)getpos() setiosflags(ios:left)setw(6)gettechpos()setiosflags(ios:left)setw(6)getstudy() setiosflags(ios:left)setw(9)getparty()setiosflags(ios:left)setw(12)gettime1() gettime

18、2()getnext();/一个一个输出 void add()/增加函数*由合作者何婷婷完成 int i,a,b; person *p1=myfirst;/初始化对象指针 if(p1=NULL) couti; printf(i);/调用前面的printf函数 else if(p1-getnext()=NULL)/获得节点 a=p1-getnum()+1;/ printf(a); else while(p1-getnext()!=NULL) p1=p1-getnext();/在原由的基础上加内容 b=p1-getnum()+1;/数字加1=2 printf(b); bool removedatn

19、um( )/删除函数*由合作者何婷婷完成 int bh; person *ahead=myfirst; person *follow=ahead; coutbh; if(ahead=NULL)/判断链表是否为空。若为空,返回false,否则返回true。 return false; else if(ahead-getnum()=bh) myfirst=myfirst-getnext(); cout编号为bh的成员以被删除getnext(); while(ahead!=NULL) if(ahead-getnum()=bh) follow-setnext(ahead-getnext(); cout

20、编号为bhgetnext(); cout要删除的成员不存在!endl; return false; bool find1()/根据编号查找,返回是真OR假 *由合作者何婷婷完成 int id; person *ahead=myfirst; person *follow=ahead; cout请输入编号:id; cout*endl; if(ahead=NULL) cout无人员信息!getnum()=id) printf1(ahead); return true; else follow=ahead;/继续查找,比如输入了一个没有的id,就用到这里 ahead=ahead-getnext();

21、cout无此人信息:endl; return false; bool find2( )/根据姓名查找*由合作者何婷婷完成 char nm20; person *ahead=myfirst; person *follow=ahead; coutnm; cout*endl; if(ahead=NULL) cout无人员信息getname(),nm)=0) printf1(ahead); return true; else follow=ahead; ahead=ahead-getnext(); cout查无此人:endl; return false; void stat()/统计函数*由本人完成

22、int xx,sz=0; cout请选择统计对象: endl; cout 1 在职人数endl; cout 2 党员人数endl; cout 3 女工人数endl; cout 4 高学历高职称人数endl; coutxx; switch(xx) case 1: person *ahead=myfirst; if(ahead=NULL) cout无人员信息gettype(),poli)=0|strcmp(ahead-gettype(),teac)=0|strcmp(ahead-gettype(),work)=0) ahead=ahead-getnext(); sz+; else ahead=ahead-getnext(); cout在职人数:szendl; ; break; case 2: person *ahead=myfirst; if(ahead=NULL) cout无人员信息n; else while(ahead!=NULL)

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

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