当前位置:文档之家› (完整版)学校人事管理系统

(完整版)学校人事管理系统

上海电力学院《高级程序设计》课程设计题目:学校人事管理系统院系:计信专业年级:2011053学生姓名:吴云天学号:20111760指导教师:彭源2012年6月29日目录1.需求分析................................................................................................................................... 2.概要设计................................................................................................................................... 3.详细设计................................................................................................................................... 4.用户使用手册...........................................................................................................................4.1 环境设置............................................................................................................................4.2 操作步骤............................................................................................................................ 5.程序创新点............................................................................................................................... 6.使用的主要技术....................................................................................................................... 7.总结..........................................................................................................................................1.需求分析某高校,主要人员有:在职人员(行政人员、教师、一般员工)、退休人员、返聘人员和临时工。

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

程序的基本功能:1) 添加删除功能:能根据学院人事的变动情况,添加删除记录。

72) 查询功能:能根据编号和姓名进行查询。

3) 修改功能:根据查询对相应的记录进行修改,并存储。

4) 统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数)。

2.概要设计1.系统功能分析执行程序后,按界面的显示,选择对应的数字进行操作,选1输入人员资料,资料包括姓名、年龄、职称等;选2删除人员;选3修改人员信息等等。

2.系统功能模块分析3.详细设计程序源代码:#include<iostream>#include<fstream>#include<cstring>#include<iomanip>using namespace std;int k;class person{private:char num[10];char type[20];char name[20];char sex[10];char age[10];char zhiwu[20];char zhichen[20];char zzmm[20];char zgxl[20];char rzsj[20];char lysj[30];static int bianhao;public:void setperson(char *type1,char *name1,char *sex1,char *age1,char *zhiwu1,char *zhichen1,char *zzmm1,char *zgxl1,char *rzsj1,char *lysj1);static int& getbianhao() {return bianhao;}char * gettype() { return type;}char * getname() {return name;}char * getsex() {return sex;}char * getage() {return age;}char * getzhiwu() {return zhiwu;}char * getzhichen() {return zhichen;}char * getzzmm() {return zzmm;}char * getzgxl() {return zgxl;}char * getrzsj() {return rzsj;}char * getlysj() {return lysj;}char * getnum() {return num;}void tjry();void find();void output();void shancu();void xiugai();void tongji();};person p[100];person pp[100];int k1;int person::bianhao=0;void person::setperson(char *type1,char *name1,char *sex1,char *age1,char *zhiwu1, char *zhichen1,char *zzmm1,char *zgxl1,char *rzsj1,char *lysj1){int static j=1;strcpy(type,type1);strcpy(name,name1);strcpy(sex,sex1);strcpy(age,age1);strcpy(zhiwu,zhiwu1);strcpy(zhichen,zhichen1);strcpy(zzmm,zzmm1);strcpy(zgxl,zgxl1);strcpy(rzsj,rzsj1);strcpy(lysj,lysj1);bianhao++;ofstream file("添加人员.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].getzhiwu()<<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();}void person::tongji() //{int a=0;int b=0;int c=0;int d=0;int k=1;ifstream filem("添加人员.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].getzhiwu();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;}void person::xiugai() //{int k=1;ifstream filem("添加人员.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].getzhiwu();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;int x,y;cin>>x;cout<<"请输入编号为"<<x<<"的人需要修改的项目的代号:"<<endl;cout<<"1:编号-2:人员类型-3:姓名-4:性别-5:年龄-6:职务-7:职称-8:政治面貌-9:最高学历-10:任职时间-11:来院时间"<<endl;cin>>y;switch(y){case 1:{cout<<"请输入新的编号"; cin>>pp[x].getnum() ;}break;case 2:{cout<<"请输入新的人员类型"; cin>>pp[x].gettype();}break;case 3:{cout<<"请输入新的姓名";cin>>pp[x].getname();}break;case 4:{cout<<"请输入新的性别";cin>>pp[x].getsex();}break;case 5:{cout<<"请输入新的年龄";cin>>pp[x].getage();}break;case 6:{cout<<"请输入新的职务";cin>>pp[x].getzhiwu();}break;case 7:{cout<<"请输入新的职称";cin>>pp[x].getzhichen();}break;case 8:{cout<<"请输入新的政治面貌";cin>>pp[x].getzzmm();}break;case 9:{cout<<"请输入新的最高学历";cin>>pp[x].getzgxl();}break;case 10:{cout<<"请输入新的任职时间";cin>>pp[x].getrzsj();}break;case 11:{cout<<"请输入新的来院时间";cin>>pp[x].getlysj();}break;}ofstream file1("添加人员.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].getzhiwu()<<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;}void person::shancu() //{int z;ifstream filem("添加人员.txt",ios_base::in);int k=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].getzhiwu();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;ofstream file2("添加人员.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].getzhiwu()<<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;}void person::find() //{cout<<"1:按编号查询--2:按姓名查询-请选择(1-2)"<<endl;int m;cin>>m;while(m<1||m>2){cout<<"请重新输入(1-2)"<<endl;cin>>m;}switch(m){case 1:{char n[10];cout<<"请输入要查找的编号:";cin>>n;ifstream filem("添加人员.txt",ios_base::in);int k=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].getzhiwu();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].getname() <<setw(5)<<pp[k].getsex()<<setw(5)<<pp[k].getage()<<setw(5)<<pp[k].getzhiwu()<<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;case 2:{char nname[20];cout<<"请输入要查找的姓名:";cin>>nname;ifstream filem("添加人员.txt",ios_base::in);int k=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].getzhiwu();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].getname() <<setw(5)<<pp[k].getsex()<<setw(5)<<pp[k].getage()<<setw(5)<<pp[k].getzhiwu()<<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;}}void person::tjry() //{int v,l=1;char type2[20];char name2[20];char sex2[10];char age2[10];char zhiwu2[20];char zhichen2[20];char zzmm2[20];char zgxl2[20];char rzsj2[20];char lysj2[30]; cout<<"请输入要添加的人数"<<endl;cin>>k;p[1].getbianhao()=pp[k1].getbianhao();v=bianhao;for(int i=v+1;i<=v+k;i++){cout<<"请输入第"<<l<<"个人的信息"<<endl;cout<<"人员类型"; cin>>type2;cout<<"姓名:"; cin>>name2;cout<<"性别:"; cin>>sex2;cout<<"年龄:"; cin>>age2;cout<<"职务:"; cin>>zhiwu2;cout<<"职称:"; cin>>zhichen2;cout<<"政治面貌:"; cin>>zzmm2;cout<<"最高学历:"; cin>>zgxl2;cout<<"任职时间:"; cin>>rzsj2;cout<<"来院时间:"; cin>>lysj2;p[i].setperson(type2,name2,sex2,age2,zhiwu2,zhichen2,zzmm2,zgxl2,rzsj2,lysj2); l++;}}void person::output() //{ifstream filem("添加人员.txt",ios_base::in);int k=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].getzhiwu();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].getzhiwu()<<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();}void menu(){person pjk;int c;cout<<endl;cout<<"---------------------高校人事管理系统-----------------------------"<<endl;cout<<"**"<<endl;cout<<"* 1--添加人员信息并保存*"<<endl;cout<<"* 2--删除人员信息*"<<endl;cout<<"* 3--修改人员信息*"<<endl;cout<<"* 4--查询人员信息*"<<endl;cout<<"* 5--统计人员信息*"<<endl;cout<<"* 6--显示所有信息*"<<endl;cout<<"* 7--退出*"<<endl;cout<<"------------------------------------------------------------------"<<endl;cout<<" 请选择(1-7): "<<endl;cin>>c;switch(c){case 1: pjk.tjry();menu();break;case 2:pjk.shancu();menu(); break;case 3:pjk.xiugai();menu(); break;case 4:pjk.find() ;cout<<endl<<endl; menu();break; case 5:pjk.tongji();menu(); break;case 6:pjk.output();menu();break;case 7:exit(1);break;}}void main(){menu();}4.用户使用手册在指定的目录下创建一个Account 工程,新建工程将所有的已经创建的扩展名为cpp文件和扩展名为.h 文件添加到步骤1 所创建的工程中对应的Source Files 和Header Files 中编译每个扩展名为.cpp 的文件,如果有编译错误,则根据提示修改,否则编译成功。

相关主题