高校人事管理系统C++代码(共9页).doc
精选优质文档-倾情为你奉上#include<iostream>#include<string>#include<fstream>powered by #include<iomanip>using namespace std;class employeeprotected:int number;char name20;char sex6;char workplace20;char place20;char nation6;char birth20;char party10;char id20;float score5;public:Employee *nest;Employee()Employee()char* getname() return name; int getnumber() return number; double getscore(int i) return scorei;float get() return(score0+ score1+ score2+ score3+ score4);void input() int e=1; cout<<“ttt按提示输入 :”<<endl cout<<“tt输入工号 :”; cin>>workplace do cout<< “tt输入性别 :” cin>>sex if(strcmp(sex,“man”)=0 | strcmp(sex,“woman”)=0) cout<<“tt输入籍贯:”; cin >>place; cout<<“tt输入民族:”; cin >>nation; cout<<“tt输入生日:”; cin >>birth; cout<<“tt输入政治面貌:”; cin >>party; cout<<“tt输入身份证号:”; cin >>id; cout<<“tt输入工作时间:”; cin >>score0; cout<<“tt输入缺勤次数:”; cin >>score1; cout<<“tt输入业绩总评成绩:”; cin >>score2; cout<<“tt输入跳动工作次数:”; cin >>score3; cout<<“tt输入目前工资:”; cin >>score4; e=0; else cout<<“ttt无此类型性别!重新输入!”<<endl e=1 while(e) return void input(ifstream & is) is>>number>>name>>sex>>place>>nation>>birth>>party>>id>>score0>> score1>> score2>> score3>> score4; is.get(); void output() cout<<“职工基本信息如下:”<<endl; cout<<“工号:”<<number <<“ 姓名:”<<name <<“ 性别:”<<sex<<“ 籍贯:”<<place<<“ 民族:”<<nation<<“ 工作单位:”<<workplace<<“ 生日:”<<birth<<“ 政治面貌:”<<party<<endl<<“身份证号:”<<id<<“ 工作时间:”<<score0<<“ 缺勤次数:”<< score1<<“ 业绩总评成绩:”<<score2<<“ 调动工作次数:”<<score3<<“ 目前工资:”<<score4<<endl; void output(ofstream & os) os<<setw(6)<<number <<setw(15)<<name <<setw(6)<<sex <<setw(20)<<place <<setw(6)<<nation <<setw(20)<<workplace <<setw(20)<<birth <<setw(20)<<party <<setw(20)<<id <<setw(6)<<score0 <<setw(6)<< score1 <<setw(6)<< score2 <<setw(6)<< score3 <<setw(6)<< score4 <<endl;class companyPublic: company()head=new Employee;head->next=NULL;key=0; company()delete head; void input(); void mend(); void del(); int find(Employee*p,int num,char *pn=“”) ; void found(); void show(); void save(); void begin(); void clear; char mainmenu(); int getkey()return key; void setkey(int k)(key=k;)private: Employee *head; int key;Void company:input() Employee *p,*p2=NULL; P=head; int n; while(p->next) p=p->next; while(n) p2=new Employee; p2->input(); p->next=p2; p2->next=NULL; p=p->next; company:setkey(1); cout<<”ttt按1继续,按0返回:”; cin>>n; int company:find(Employee *p1,int num,char *pn) Employee *p; p=head; while(p->next) (*p1)=p; if(p->next)->getnumber()=num!strcmp(p->next)->getname(),pn) return 1; p=p->next; return 0;void company:found() Employee *p; int num=-1,n=9; char name20=”; do cout<<”tt1:按工号查找,2:按姓名查找:”; cin>>n; while(n<1|n>2); if(n=1) cout<<”ttt输入工号:”; cin>>num; if(n=2) cout<<”ttt输入姓名:”; cin>>name; if(!find(&p,num,name) cout<<”tt找不到你要查找的内容!”<<endl; return; (p->next)->output();Void company:del() Employee *p,*p2; int num; cout<<”ttt输入工号:”; cin>>num; if(!find(&p,num,”) cout<<”tt找不到你要删除的内容!”<<endl; return; (p->next)->output(); p2=p->next; p->next=p2->next; delete p2; company:setkey(1);void company:show() Employee:*p; p=head; while(p->next) (p->next)->output(); p=p->next; void company:mend() Employee *p; int num=-1,n; char name20=”; do cout<<”tt1:按工号修改,2:按姓名修改:”; cin>>n; while(n<1|n>2); if(n=1) cout<<”ttt输入工号:”; cin>>num; if(n=2) cout<<”ttt输入姓名:”; cin>>num; if(!find(&p,num,name) cout<<”tt找不到你要修改的内容!”<<endl;return; (p->next)->output(); (p->next)->input(); Company:setkey(1);void company:save() Employee *p; p=head; ofstream os(“Employee.txt”,ios:out); if(company:getkey()=1) while(p->next) (p->next)->output(os); p=p->next; cout<<”ttt文件已保存!”<<endl company :setkey(0) void company :begin() Employee *p,*p2 p=head; clear(); long t; ifstream is(“Employee.txt”,ios:in); if(!is) ofstream os(”Employee.txt”,ios:out);os.close();return;int num=-1;while(1) num=-1; t=is.tellg(); is>>num; is.seekg(t); if(num<0) is.close(); return; p2=new Employee; p2->input(is); p2->next=p2; p2->next=NULL; p=p->next; void company:clear() Employee *p,*p2; P=head->next; while(p) p2=p; p=p->next; delete p2; char company:mainmenu()char n6;cout<<”nn 欢迎进入内蒙古医院人事管理系统”<<endl<<endl<<” *”<<endl<<” *”<<endl<<” * 1: 录入职工信息 *”<<endl<<” * 2: 显示职工信息 *”<<endl<<” * 3: 查找职工信息 *”<<endl<<” * 4: 删除职工信息 *”<<endl<<” * 5: 修改职工信息 *”<<endl<<” * 6: 保存职工信息 *”<<endl<<” * 0: 退出系统 *”<<endl<<” *”<<endl<<” *”<<endl<<“ 请选择:”;cin>n;return n0;void main() company pp;int k=1;char n;pp.begin();while(k=1)n=pp.mainmenu();switch(n) case1:pp.input();break;case2:pp.show();break;case3:pp.found();break;case4:pp.del();break;case5:pp.mend();break;case6:pp.save();break;case0:if(pp.getkey()=1) cout<<”ttt是否保存? 1:保存 0:不保存:”; cin>.k; if(k=1) pp.save();pp.clear();k=0;break; 专心-专注-专业