当前位置:文档之家› 人力资源管理++高校人事档案管理系统

人力资源管理++高校人事档案管理系统

(人力资源管理)++高校人事档案管理系统高校人事档案管理系统设计方法和基本原理:壹、问题描述(功能要求):某高校,主要人员有:于职人员(行政人员、教师、壹般员工)、退休人员、返聘人员和临时工。

当下,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间。

要求:1)添加删除功能:能根据学院人事的变动情况,添加删除记录;2)查询功能:能根据编号和姓名进行查询;3)编辑功能(高级):根据查询对相应的记录进行修改,且存储;4)统计功能:能根据多种参数进行人员的统计(于职人数、党员人数、女工人数、高学历高职称人数);5)保存功能:能对输入的数据进行相应的存储,要求重载插入和提取符以完成数据的保存和打开。

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

2、问题的解决方案:源代码#include<iostream>#include<fstream>#include<cstring>#include<iomanip>usingnamespacestd;intk;classperson{private:charnum[10];//编号chartype[20];//种类charname[20];//姓名charsex[10];//性别charage[10];//年龄charstaff[20];//职务charzhichen[20];//职称charzzmm[20];//政治面貌charzgxl[20];//最高学历charrzsj[20];//任职时间charlysj[30];//来院时间staticintbianhao;//计数器public:voidsetperson(char*type1,char*name1,char*sex1,char*age1,char*staff1, char*zhichen1,char*zzmm1,char*zgxl1,char*rzsj1,char*lysj1);//构造函数staticint&getbianhao(){returnbianhao;}char*gettype(){returntype;}char*getname(){returnname;}char*getsex(){returnsex;}char*getage(){returnage;}char*getstaff(){returnstaff;}char*getzhichen(){returnzhichen;}char*getzzmm(){returnzzmm;}char*getzgxl(){returnzgxl;}char*getrzsj(){returnrzsj;}char*getlysj(){returnlysj;}char*getnum(){returnnum;}voidtjry();voidfind();voidoutput();voiddel();voidxiugai();voidtongji();};personp[100];personpp[100];intk1;intperson::bianhao=0;voidperson::setperson(char*type1,char*name1,char*sex1,char*age1,char* staff1,char*zhichen1,char*zzmm1,char*zgxl1,char*rzsj1,char*lysj1)intstaticj=1;strcpy(type,type1);strcpy(name,name1);strcpy(sex,sex1);strcpy(age,age1);strcpy(staff,staff1);strcpy(zhichen,zhichen1);strcpy(zzmm,zzmm1);strcpy(zgxl,zgxl1);strcpy(rzsj,rzsj1);strcpy(lysj,lysj1);bianhao++;ofstreamfile("添加人员.txt",ios_base::app); file<<p[j].getbianhao()<<endl;file<<p[j].gettype()<<endl;file<<p[j].getname()<<endl;file<<p[j].getsex()<<endl;file<<p[j].getage()<<endl;file<<p[j].getstaff()<<endl;file<<p[j].getzhichen()<<endl;file<<p[j].getzzmm()<<endl;file<<p[j].getzgxl()<<endl;file<<p[j].getrzsj()<<endl;file<<p[j].getlysj()<<endl;j++;file.close();}voidperson::tongji()//{inta=0;intb=0;intc=0;intd=0;intk=1;ifstreamfilem("添加人员.txt",ios_base::in); while(!filem.eof())filem>>pp[k].getnum();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getstaff();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();if(strcmp(pp[k].gettype(),"行政人员")==0||strcmp(pp[k].gettype(),"教师")==0||strcmp(pp[k].gettype(),"壹般员工")==0)a++;if(strcmp(pp[k].getzzmm(),"党员")==0)b++;if(strcmp(pp[k].getsex(),"nv")==0)c++;if(strcmp(pp[k].getzgxl(),"boshi")==0)d++;k++;}filem.close();cout<<"于职人数"<<setw(12)<<"党员人数"<<setw(12)<<"女工人数"<<setw(12)<<"高学历人数"<<endl;cout<<a<<setw(12)<<b<<setw(12)<<c<<setw(12)<<d<<endl;}voidperson::xiugai()//{intk=1;ifstreamfilem("添加人员.txt",ios_base::in);while(!filem.eof())filem>>pp[k].getnum();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getstaff();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();k++;}filem.close();cout<<"请输入要修改的人的编号:"<<endl;intx,y;cin>>x;cout<<"请输入编号为"<<x<<"的人需要修改的项目的代号:"<<endl;cout<<"1:编号-2:人员类型-3:姓名-4:性别-5:年龄-6:职务-7:职称-8:政治面貌-9:最高学历-10:任职时间-11:来院时间"<<endl;cin>>y;switch(y){case1:{cout<<"请输入新的编号";cin>>pp[x].getnum();}break;case2:{cout<<"请输入新的人员类型";cin>>pp[x].gettype();}break;case3:{cout<<"请输入新的姓名";cin>>pp[x].getname();}break;case4:{cout<<"请输入新的性别";cin>>pp[x].getsex();} break;case5:{cout<<"请输入新的年龄";cin>>pp[x].getage();} break;case6:{cout<<"请输入新的职务";cin>>pp[x].getstaff();} break;case7:{cout<<"请输入新的职称";cin>>pp[x].getzhichen();} break;case8:{cout<<"请输入新的政治面貌";cin>>pp[x].getzzmm();} break;case9:{cout<<"请输入新的最高学历";cin>>pp[x].getzgxl();} break;case10:{cout<<"请输入新的任职时间";cin>>pp[x].getrzsj();} break;case11:{cout<<"请输入新的来院时间";cin>>pp[x].getlysj();} break;}ofstreamfile1("添加人员.txt",ios_base::trunc);for(k=1;k<=bianhao;k++){file1<<pp[k].getnum()<<endl;file1<<pp[k].gettype()<<endl;file1<<pp[k].getname()<<endl;file1<<pp[k].getsex()<<endl;file1<<pp[k].getage()<<endl;file1<<pp[k].getstaff()<<endl;file1<<pp[k].getzhichen()<<endl;file1<<pp[k].getzzmm()<<endl;file1<<pp[k].getzgxl()<<endl;file1<<pp[k].getrzsj()<<endl;file1<<pp[k].getlysj()<<endl;}file1.close();cout<<"修改且保存完毕"<<endl;}voidperson::shancu()//{intz;ifstreamfilem("添加人员.txt",ios_base::in);intk=1;while(!filem.eof()){filem>>pp[k].getnum();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getstaff();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();k++;}filem.close();cout<<"请输入要被删除信息的人的编号:"<<endl;cin>>z;while(z<1||z>bianhao){cout<<"没有找到你要删除的人,请重新输入:"<<endl;cin>>z;}for(k=1;k<=bianhao;k++){if(z==k)continue;ofstreamfile2("添加人员.txt",ios_base::trunc);file2<<pp[k].getnum()<<endl;file2<<pp[k].gettype()<<endl;file2<<pp[k].getname()<<endl;file2<<pp[k].getsex()<<endl;file2<<pp[k].getage()<<endl;file2<<pp[k].getstaff()<<endl;file2<<pp[k].getzhichen()<<endl;file2<<pp[k].getzzmm()<<endl;file2<<pp[k].getzgxl()<<endl;file2<<pp[k].getrzsj()<<endl;file2<<pp[k].getlysj()<<endl;file2.close();}cout<<"删除记录完毕"<<endl;}voidperson::find()//{cout<<"1:按编号查询--2:按姓名查询-请选择(1-2)"<<endl; intm;cin>>m;while(m<1||m>2){cout<<"请重新输入(1-2)"<<endl;cin>>m;}switch(m){case1:{charn[10];cout<<"请输入要查找的编号:";cin>>n;ifstreamfilem("添加人员.txt",ios_base::in);intk=1;cout<<"编号"<<setw(9)<<"人员类型"<<setw(5)<<"姓名"<<setw(5)<<"性别"<<setw(5)<<"年龄"<<setw(5)<<"职务"<<setw(5)<<"职称"<<setw(9)<<"政治面貌"<<setw(10)<<"最高学历"<<setw(10)<<"任职时间"<<setw(10)<<"来院时间"<<endl;while(!filem.eof()){filem>>pp[k].getnum();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getstaff();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();if(strcmp(pp[k].getnum(),n)==0){cout<<pp[k].getnum()<<setw(9)<<pp[k].gettype()<<setw(5)<<pp[k].ge tname()<<setw(5)<<pp[k].getsex()<<setw(5)<<pp[k].getage()<<setw(5)<<pp[k].getstaff()<<setw(5)<<pp[k].getzhichen()<<setw(9)<<pp[k].getzzmm()<<setw(10)<<pp[k].getzgxl()<<setw(10)<<pp[k].getrzsj()<<setw(10)<<pp[k].getlysj()<<endl;break;} k++;if(filem.eof()){cout<<endl;cout<<"警告:没有要查找的人!!!!!!!!!!";}}filem.close();}break;case2:{charnname[20];cout<<"请输入要查找的姓名:";cin>>nname;ifstreamfilem("添加人员.txt",ios_base::in);intk=1;cout<<"编号"<<setw(9)<<"人员类型"<<setw(5)<<"姓名"<<setw(5)<<"性别"<<setw(5)<<"年龄"<<setw(5)<<"职务"<<setw(5)<<"职称"<<setw(9)<<"政治面貌"<<setw(10)<<"最高学历"<<setw(10)<<"任职时间"<<setw(10)<<"来院时间"<<endl;while(!filem.eof()){filem>>pp[k].getnum();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getstaff();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();if(strcmp(pp[k].getname(),nname)==0){cout<<pp[k].getnum()<<setw(9)<<pp[k].gettype()<<setw(5)<<pp[k].ge tname()<<setw(5)<<pp[k].getsex()<<setw(5)<<pp[k].getage()<<setw(5)<<pp[k].getstaff()<<setw(5)<<pp[k].getzhichen()<<setw(9)<<pp[k].getzzmm()<<setw(10)<<pp[k].getzgxl()<<setw(10)<<pp[k].getrzsj()<<setw(10)<<pp[k].getlysj()<<endl;break;} k++;if(filem.eof()){cout<<endl;cout<<"警告:没有要查找的人!!!!!!!!!!";}}filem.close();}break;}}voidperson::tjry()//{intv,l=1;chartype2[20];charname2[20];charsex2[10];charage2[10];charstaff2[20]; charzhichen2[20];charzzmm2[20];charzgxl2[20];charrzsj2[20];charlysj2[30 ];cout<<"请输入要添加的人数"<<endl;cin>>k;p[1].getbianhao()=pp[k1].getbianhao();v=bianhao;for(inti=v+1;i<=v+k;i++){cout<<"请输入第"<<l<<"个人的信息"<<endl;cout<<"人员类型";cin>>type2;cout<<"姓名:";cin>>name2;cout<<"性别:";cin>>sex2;cout<<"年龄:";cin>>age2;cout<<"职务:";cin>>staff2;cout<<"职称:";cin>>zhichen2;cout<<"政治面貌:";cin>>zzmm2;cout<<"最高学历:";cin>>zgxl2;cout<<"任职时间:";cin>>rzsj2;cout<<"来院时间:";cin>>lysj2;p[i].setperson(type2,name2,sex2,age2,staff2,zhichen2,zzmm2,zgxl2,rzsj2,l ysj2);l++;}}voidperson::output()//{ifstreamfilem("添加人员.txt",ios_base::in);intk=1;cout<<"编号"<<setw(9)<<"人员类型"<<setw(5)<<"姓名"<<setw(5)<<"性别"<<setw(5)<<"年龄"<<setw(5)<<"职务"<<setw(5)<<"职称"<<setw(9)<<"政治面貌"<<setw(10)<<"最高学历"<<setw(10)<<"任职时间"<<setw(10)<<"来院时间"<<endl;while(!filem.eof()){filem>>pp[k].getbianhao();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getstaff();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();cout<<pp[k].getbianhao()<<setw(9)<<pp[k].gettype()<<setw(5)<<pp[k] .getname()<<setw(5)<<pp[k].getsex()<<setw(5)<<pp[k].getage()<<setw(5)<<pp[k].getstaff()<<setw(5)<<pp[k].getzhichen()<<setw(9)<<pp[k].getzzmm()<<setw(10)<<pp[k].getzgxl()<<setw(10)<<pp[k].getrzsj()<<setw(10)<<pp[k].getlysj()<<endl; k++;}k1=--k;filem.close();}voidmenu(){personpjk;intc;cout<<endl;cout<<"1.添加人员信息且保存"<<endl;cout<<"2.删除人员信息"<<endl;cout<<"3.修改人员信息"<<endl;cout<<"4.查询人员信息"<<endl;cout<<"5.统计人员信息"<<endl;cout<<"6.显示所有信息"<<endl;cout<<"7.退出"<<endl;cout<<"请选择(1-7):"<<endl;cin>>c;switch(c){case1:pjk.tjry();menu();break;case2:pjk.del();menu();break;case3:pjk.xiugai();menu();break;case4:pjk.find();cout<<endl<<endl;menu();break;case5:pjk.tongji();menu();break;case6:pjk.output();menu();break;case7:exit(1);break;}}voidmain(){ menu(); }。

相关主题