收藏 分销(赏)

c++高校人事档案管理系统.doc

上传人:精*** 文档编号:11398122 上传时间:2025-07-21 格式:DOC 页数:23 大小:55KB 下载积分:10 金币
下载 相关 举报
c++高校人事档案管理系统.doc_第1页
第1页 / 共23页
c++高校人事档案管理系统.doc_第2页
第2页 / 共23页


点击查看更多>>
资源描述
c++高校人事档案管理系统 23 2020年4月19日 资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。 高校人事档案管理系统 设计方法和基本原理: 一、 问题描述( 功能要求) : 某高校, 主要人员有: 在职人员( 行政人员、 教师、 一般员工) 、 退休人员、 返聘人员和临时工。现在, 需要存储这些人员的人事档案信息: 编号、 姓名、 性别、 年龄、 职务、 职称、 政治面貌、 最高学历、 任职时间、 来院时间。 要求: 1)  添加删除功能: 能根据学院人事的变动情况, 添加删除记录; 2)  查询功能: 能根据编号和姓名进行查询; 3)  编辑功能( 高级) : 根据查询对相应的记录进行修改, 并存储; 4)  统计功能: 能根据多种参数进行人员的统计( 在职人数、 党员人数、 女工人数、 高学历高职称人数) ; 5)  保存功能: 能对输入的数据进行相应的存储, 要求重载插入和提取符以完成数据的保存和打开。 6)  人员编号在生成人员信息时同时生成, 每输入一个人员信息编号顺序加1。 2、 问题的解决方案: 源代码 #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 staff[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 *staff1, 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 * getstaff() {return staff;} 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 del(); 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 *staff1, 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(staff,staff1); 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].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(); } 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].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; } 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].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; 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].getstaff();} 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].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; } 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].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; 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].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; } 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].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].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;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].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].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;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 staff2[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>>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,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].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(); } void menu() { person pjk; int c; 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) { case 1: pjk.tjry();menu();break; case 2:pjk.del();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(); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服