高校人事管理系统C++程序设计源代码.docx
《高校人事管理系统C++程序设计源代码.docx》由会员分享,可在线阅读,更多相关《高校人事管理系统C++程序设计源代码.docx(32页珍藏版)》请在冰点文库上搜索。
高校人事管理系统C++程序设计源代码
新建一个头文件类,名字为:
Person.h,再建一个源文件,名字随意,代码按顺序粘贴进去即可运行。
●头文件:
#include
#include
usingnamespacestd;
//基类
classPerson
{
public:
charname[20];
charsex[6];
intage;
charzzmm[10];
charzgxl[10];
intrzsj;
intlysj;
intgongzi;
virtualvoidadd()
{
cout<<"姓名:
";cin>>name;
cout<<"性别:
";cin>>sex;
cout<<"年龄:
";cin>>age;
cout<<"工资:
";cin>>gongzi;
cout<<"政治面貌:
";cin>>zzmm;
cout<<"最高学历:
";cin>>zgxl;
cout<<"任职时间:
";cin>>rzsj;
cout<<"来院时间:
";cin>>lysj;
}
virtualvoidshow()
{
cout<<"姓名:
"<"<<<"年龄:
"<"<"<<"<"<"
<}
virtualvoidsave(fstream&f)
{
f<}
virtualvoidread(fstream&f)
{
f>>name>>sex>>age>>gongzi>>zzmm>>zgxl>>rzsj>>lysj;
}
};
//行政人员
classxzry:
virtualpublicPerson
{
public:
charzhiwu[10];
charjibie[10];
intNOxz;
voidadd(int&num1)
{
num1++;
NOxz=num1;
cout<<"行政人员编号:
"<Person:
:
add();
cout<<"职务:
";cin>>zhiwu;
cout<<"级别:
";cin>>jibie;
}
voidshow()
{
cout<<"行政人员编号:
"<Person:
:
show();
cout<<"职务:
"<"<}
virtualvoidsave(fstream&f)
{
f<Person:
:
save(f);
f<}
virtualvoidread(fstream&f)
{
Person:
:
read(f);
f>>zhiwu>>jibie;
}
};
//教师
classjiaoshi:
virtualpublicPerson
{
public:
charzhiwu[10];
charzhicheng[10];
intNOjs;
voidadd(int&num2)
{
num2++;
NOjs=num2;
cout<<"教师编号:
"<Person:
:
add();
cout<<"职务:
";cin>>zhiwu;
cout<<"职称:
";cin>>zhicheng;
}
voidshow()
{
cout<<"教师编号:
"<Person:
:
show();
cout<<"职务:
"<"<}
virtualvoidsave(fstream&f)
{
f<Person:
:
save(f);
f<}
virtualvoidread(fstream&f)
{
Person:
:
read(f);
f>>zhiwu>>zhicheng;
}
};
//一般员工
classybyg:
virtualpublicPerson
{
public:
charzhiwu[10];
intNOyb;
voidadd(int&num3)
{
num3++;
NOyb=num3;
cout<<"一般员工编号:
"<Person:
:
add();
cout<<"职务:
";cin>>zhiwu;
}
voidshow()
{
cout<<"一般员工编号:
"<Person:
:
show();
cout<<"职务:
"<}
virtualvoidsave(fstream&f)
{
f<Person:
:
save(f);
f<}
virtualvoidread(fstream&f)
{
Person:
:
read(f);
f>>zhiwu;
}
};
//退休员工
classtuixiu:
virtualpublicPerson//退休人员
{
public:
inttuixiusj;
intNOtx;
voidadd(int&num4)
{
num4++;
NOtx=num4;
cout<<"退休员工编号:
"<Person:
:
add();
cout<<"退休时间:
";cin>>tuixiusj;
}
voidshow()
{
cout<<"退休员工编号:
"<Person:
:
show();
cout<<"退休时间:
"<}
virtualvoidsave(fstream&f)
{
f<Person:
:
save(f);
f<}
virtualvoidread(fstream&f)
{
Person:
:
read(f);
f>>tuixiusj;
}
};
●源文件:
#include"Person.h"
#include"string.h"
#include
#include
usingnamespacestd;
inti1=0,i2=0,i3=0,i4=0;//定义总数
intn1=0,n2=0,n3=0,n4=0;//定义编号
xzryxz[100];//定义行政人员100人
jiaoshijs[100];//定义教师人员100人
ybygyb[100];//定义一般员工100人
tuixiutx[100];//定义退休人员100人
voidaddPerson();//添加学院工作人员名单函数
voidFileSave();//信息保存函数
voidFileRead();//读取文件函数
voidfindChange();//查询并编辑工作人员信息函数
voidDelete(intj,intk);//删除函数
voideditPer(intv,intz);//编辑工作人员信息
voidfindName();//根据姓名查询函数
voidfindNO();//根据编号查询函数
voidtongji();//统计函数
//主函数
voidmain()
{
FileRead();
n1=i1;n2=i2;n3=i3;n4=i4;
inta;
while
(1)
{
cout<<"**********欢迎进入高校人事管理系统**************"<cout<<"*输入选项进行选择*"<cout<<"**"<cout<<"*1、添加学院工作人员名单*"<cout<<"*2、查询*"<cout<<"*编辑*"<cout<<"*删除工作人员信息*"<cout<<"*3、人员统计*"<cout<<"*4、退出程序*"<cout<<"**"<cout<<"************************************************"<cout<cout<<"请选择:
";
cin>>a;
system("cls");
if(a==1)
{addPerson();}
elseif(a==2)
{findChange();}
elseif(a==3)
{tongji();}
elseif(a==4)
{break;}
else
{
cout<<"输入有误!
请重试!
"<cout<system("pause");
system("cls");
continue;
}
}
}
//添加学院工作人员名单函数
voidaddPerson()
{
intb;
while
(1)
{
cout<<"*******请选择人员工作岗位*********"<cout<<"*1、行政人员*"<cout<<"*2、教师*"<cout<<"*3、一般员工*"<cout<<"*4、退休人员*"<cout<<"*5、保存并退出*"<cout<<"**********************************"<cout<";
cin>>b;cout<system("cls");
if(b==1)//添加行政人员
{
xz[i1].add(n1);
i1++;
}
elseif(b==2)//添加教师
{
js[i2].add(n2);
i2++;
}
elseif(b==3)//添加一般员工
{
yb[i3].add(n3);
i3++;
}
elseif(b==4)//添加退休人员
{
tx[i4].add(n4);
i4++;
}
elseif(b==5)
{
FileSave();
break;
}
else
{
cout<<"输入有误!
请重试!
"<cout<system("pause");
system("cls");
continue;
}
}
}
//信息保存函数
voidFileSave()
{
intk;
fstreamfile;
file.open("data.dat",ios:
:
out);
file<for(k=0;kxz[k].save(file);
file<file<for(k=0;kjs[k].save(file);
file<file<for(k=0;kyb[k].save(file);
file<file<for(k=0;ktx[k].save(file);
file<file.close();
}
//读取文件函数
voidFileRead()
{
intk;
fstreamfile;
file.open("data.dat",ios:
:
in);
file>>i1;//读取行政人员总数
for(k=0;k{
file>>xz[k].NOxz;//读取行政人员编号
xz[k].read(file);
}
file>>i2;//读取教师人员总数
for(k=0;k{
file>>js[k].NOjs;//读取教师人员编号
js[k].read(file);
}
file>>i3;//读取一般员工总数
for(k=0;k{
file>>yb[k].NOyb;//读取一般员工编号
yb[k].read(file);
}
file>>i4;//读取退休人员总数
for(k=0;k{
file>>tx[k].NOtx;//读取退休人员编号
tx[k].read(file);
}
file.close();
}
//查询并编辑工作人员信息
voidfindChange()
{
inte;
while
(1)
{
cout<<"****************************"<cout<<"*1、编号查询*"<cout<<"*2、姓名查询*"<cout<<"*3、退出*"<cout<<"****************************"<cout<<"请选择:
";
cin>>e;cout<system("cls");
if(e==1)
{
findNO();
}
elseif(e==2)
{
findName();
}
elseif(e==3)
{break;}
else
{
cout<<"输入有误!
请重试!
"<system("pause");
system("cls");
continue;
}
}
}
//根据编号查询函数
voidfindNO()
{
intf,g,z;inth;
while
(1)
{
cout<<"========请输入查询人所在的分类========"<cout<<"1、行政人员"<cout<<"2、教师人员"<cout<<"3、一般员工"<cout<<"4、退休人员"<cout<<"5、退出"<cout<<"======================================"<cout<<"请输入:
";cin>>f;cout<system("cls");
if(f==1)
{
cout<<"========行政人员查询========"<cout<<"请输入查询的编号:
";cin>>g;
for(intt1=0;t1{
if(xz[t1].NOxz==g)
{
h=g-1;
xz[h].show();
z=1;
editPer(g,z);//是否编辑
Delete(g,z);//是否删除
}
}
}
elseif(f==2)
{
cout<<"========教师人员查询========"<cout<<"请输入查询的编号:
";cin>>g;
for(intt2=0;t2{
if(js[t2].NOjs==g)
{
h=g-1;
js[h].show();
z=2;
editPer(g,z);//是否编辑
Delete(g,z);//是否删除
}
}
}
elseif(f==3)
{
cout<<"========一般员工查询========"<cout<<"请输入查询的编号:
";cin>>g;
for(intt3=0;t3{
if(yb[t3].NOyb==g)
{
h=g-1;
yb[h].show();
z=3;
editPer(g,z);//是否编辑
Delete(g,z);//是否删除
}
}
}
elseif(f==4)
{
cout<<"========退休人员查询========"<cout<<"请输入查询的编号:
";cin>>g;
for(intt4=0;t4{
if(tx[t4].NOtx==g)
{
h=g-1;
tx[h].show();
z=4;
editPer(g,z);//是否编辑
Delete(g,z);//是否删除
}
}
}
elseif(f==5)
{break;}
else
{
cout<<"输入有误!
请重试!
"<system("pause");
system("cls");
continue;
}
}
}
//根据姓名查询函数
voidfindName()
{
chars;
charnam[20];
intx;
while
(1)
{
cout<<"=========正在通过姓名进行查询========="<cout<<"请输入查询的姓名:
";
cin>>nam;
for(intt=0;t<(i1+i2+i3+i4);t++)
{
if(strcmp(xz[t].name,nam)==0)
{
xz[t].show();
x=1;
editPer(xz[t].NOxz,x);//是否编辑
Delete(xz[t].NOxz,x);//是否删除
cout<}
elseif(strcmp(js[t].name,nam)==0)
{
js[t].show();
x=2;
editPer(js[t].NOjs,x);//是否编辑
Delete(js[t].NOjs,x);//是否删除
cout<}
elseif(strcmp(yb[t].name,nam)==0)
{
yb[t].show();
x=3;
editPer(yb[t].NOyb,x);//是否编辑
Delete(yb[t].NOyb,x);//是否删除
cout<}
elseif(strcmp(tx[t].name,nam)==0)
{
tx[t].show();
x=4;
editPer(tx[t].NOtx,x);//是否编辑
Delete(tx[t].NOtx,x);//是否删除
cout<}
else
continue;
}
cout<<"是否继续查询或修改(y/n)"<cin>>s;
if(s=='y'||s=='Y')continue;
elsebreak;
}
}
//编辑工作人员信息
voideditPer(intv,intz)
{
charsu1;charsu2;
n1=v-1;n2=v-1;n3=v-1;n4=v-1;
while
(1)
{
cout<cin>>su1;
if(su1=='y'||su1=='Y')
{
if(z==1)
{
xz[n1].add(n1);
cout<cin>>su2;
if(su2=='y'||su2=='Y')
{
FileSave();
}
elsebreak;
}
if(z==2)
{
js[n2].add(n2);
cout<cin>>su2;
if(su2=='y'||su2=='Y')
{
FileSave();
}
elsebreak;
}
if(z==3)
{
yb[n3].add(n3);
cout<cin>>su2;
if(su2=='y'||su2=='Y')
{
FileSave();
}
elsebreak;
}
if(z==4)
{
tx[n4].add(n4);
cout<cin>>su2;
if(su2=='y'||su2=='Y')
{
FileSave();
}
elsebreak;
}
}
elsebreak;
break;
}
}
//删除函数
voidDelete(intj,intk)
{
charsu4;
intjg=j;
n1=j;n2=j;n3=j;n4=j;
while
(1)
{
cout<cin>>su4;
if(su4=='y'||su4=='Y')
{
if(k==1)
{
for(;n1{
xz[n1-1]=xz[n1];//删除搜索的行政人员信息
xz[n1-1].NOxz--;//信息删除后编号重排
}
i1--;
FileSave();
cout<<"=====你所查询编号为"<