公司人事管理系统_第1页
公司人事管理系统_第2页
公司人事管理系统_第3页
公司人事管理系统_第4页
公司人事管理系统_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件学院课程设计报告设计名称:C++课程设计选题名称:人事管理系统姓名:学号:1515专业班级:系(院):设计时间:设计地点:1需求分析1.1需求概述设计一个公司人事管理系统,该系统主要实现了对老板和普通员工(游客)不同的操作。【1】老板身份的功能:(1)增加职员信息(2)显示职员信息(3)删除职员信息(4)保存职员信息(5)读取职员信息(5)读取职员信息(6)修改职员信息(7)排序职员信息统计员工信息查找员工信息退出系统【2】普通员工的功能显示职员信息(2)公司职员状况查找职员信息退出系统1.2需求说明(1随着现代社会的发展,公司的人员信息资料变化较大。在这个信息爆炸的时代再像曾经用笔那样记录人员信息效率较低工作量较大。与此相对应的信息登记电子化则很好的解决此问题。故推出本人事管理系统令你摆脱往日与笔墨为伴的岁月。(2本系统能记录常见的姓名,性别,编号,职务,月薪等基本工资。对于录入的人员的信息都能用文件保存起来,并且可以任意对其进行删除,浏览,修改,增加等常见操作。(3显示所有人员信息有一定规范的格式,以便老板以及其他员工的查看,分析等应用。(4该管理系统是以大菜单下细分小菜单的方式进行工作,为不同用户提供清晰且不同菜单功能的使用提示,依据不同用户的不同选择进行不同操作任意切换2总体设计2.1功能模块图该系统按功能模块划分如下:

老板公司人事管理系统普通员工显示职员信息读取职员信息保存职员信息分选择模:司按照删除职员信2.2功能描述的(1)编身号修改职修改职员信息修改姓修改工的入口,工员工的信按照查找员排序职员信息统计员工信息老板公司人事管理系统普通员工显示职员信息读取职员信息保存职员信息分选择模:司按照删除职员信2.2功能描述的(1)编身号修改职修改职员信息修改姓修改工的入口,工员工的信按照查找员排序职员信息统计员工信息完成用户操作命令的接口,用户可退出系统查找职员信息公司职员状况统计员工信息以根据提示进入不同的身份的功能界面,进而实现不同用户的不同需求(2)进入公司人员管理界面开始选择功能,如果系统读取到之前的保存的信息可以增删查改等常见功能,如没有则可初始化人员,然后进行相应操作。(3)对人员信息的查询可以运用独一无二的编号快速查找职工。(4)在删除商品信息模块中仅允许老板身份人员对职员信息进行删除操作(5)修改职员信息中老板可以根据需要对某些职员进行提拔,调整工资等功能。(6)在统计职员信息功能中,统计出当前所有职员的一些信息。如男女职员的数目,某一职务的人数,所有职员数目等等功能。(7)在普通职员身份仅仅能查看公司特定信息,任何具有修改信息的功能模块,考虑到安全性均不能实现。2.3数据结构在公司人事管理系统中主要的数据结构是职员的信息,包含职员姓名,职员性别,职员编

号,职员工资,职员职务,等在处理过程中可以作为一个员工的不同类别进行处理,其中员工类别包括文书类,技术人员类,技术经理类,业务员类,业务员经理类等等。用户可以根据菜单提示对信息进行不同处理2.4系统流程图老板功能流程图厶否否是功&择增加职工否删除职工否查询职工否结束员工功修改职工否芒流程图退出老板身份否厶否否是功&择增加职工否删除职工否查询职工否结束员工功修改职工否芒流程图退出老板身份否■开始一功能选择I工信息信息是否曰疋1—1曰K疋口执行完毕否是I工信息信息是否曰疋1—1曰K疋口执行完毕否是查询员工信息退出员工身份3详细设计3详细设计3.1类的设计退出在;人事管理系统中共设计了六个类,分别是:文书(employee)类,销售员(salesman)类,销售经理(SalesManager)类,技术员(Technical)类,技术经理(TechnicalManager)类,老板(boss)类,employee类作为基类,其他类均由employee类派生。(1)文书(employee)类classemployee//普通职工{protected:charname[20];〃姓名intnumber;//编号charlevel[20];〃职务charsex;//性另0floatsalary;//工资intflage;//标记public:employee(charnam[20],charlev[20],intnu,charse,intfla);employee(){}voidshow();floatSalary();char*GetName();〃提取姓名函数intGetEmpNo();〃提取编号char*Level();〃提取级别charSex();〃提取性别intGetFla();friendclassboss;employee*next;};(2)经理(Manager)类classManager:publicemployee〃经理{public:Manager(charnam[20],charlev[20],intnu,charse,intfla);voidpay();voidshow();};Manager::Manager(charnam[20],charlev[20],intnu,charse,intfla):employee(nam,lev,nu,se,fla){salary=5000;flage=fla;(3)销售员(salesman)类classsalesman:publicemployee〃销售员{protected:floatsale_num;〃销售额floatsale_object;〃项目额floatsale_numRate;〃销售额提成率floatsale_objectRate;〃项目额提成率public:salesmanO0salesman(charnam[20],charlev[20],intnu,charse,intfla,floats_n,floats_ob);voidshowO;};salesman::salesman(charnam[20],charlev[20],intnu,charse,intfla,floats_n,floats_ob):employee(namflev,nufse,fla){flage=fla;〃标记sale_num=s_n;sale_object=s_ob;sale_numRate=0.15;sale_objectRate=0.10;salary=sale_objectRate*sale_object+sale_num*sale_numRate;(4)销售经理(SalesManage)类classSalesManager:publicManager{public:SalesManager(charnam[20],charlev[20],intnu,charse,intfla,floats_n,floats_ob);voidshow();protected:floatsale_num;〃销售额floatsale_object;//项目额};SalesManager::SalesManager(charnam[20],charlev[20],intnu,charse,intfla,floats_n,floats_ob):Manager(nam,lev,nu,se,fla){strcpy(name,nam);/〃姓名strcpy(level,lev);〃等级number=nu;//编号sex=se;//性别flage=fla;sale_num=s_n;sale_object=s_ob;salary=salary+(sale_object+sale_num)*0.35;}(5)技术人员(Technical)类classTechnical:publicemployee{protected:floatcode_num;floatcode_price;public:Technical(charnam[20],charlev[20],intnu,charse,intfla,floatC_n);};Technical::Technical(charnam[20],charlev[2O],intnu,charse,intfla,floatC_n)strcpy(name,nam);/〃姓名strcpy(level,lev);;〃等级number=nu;//编号sex=se;〃性别flage=fla;code_price=1000;salary=C_n*code_price;}(6)技术经理(TechnicalManager)类classTechnicalManager:publicTechnical{public:TechnicalManager(charnam[20],charlev[20],intnu,charse,intfla,floatbon);protected:floatbonus;};TechnicalManager::TechnicalManager(charnam[20],charlev[2O],intnu,charse,intfla,floatbon):Technical(nam,lev,nu,se,fla,1){strcpy(name,nam);///姓名strcpy(level,lev);//等级number=nu;〃编号sex=se;〃性别flage=fla;salary=5000;bonus=bon;salary=salary+bonus;}(7)老板(boss)类classboss{public:voidcreat_headO;〃增voidcreatO;voiddelete_infO;〃删voidseachO;voidshowO;voidsortO;voidread_file0;〃读文件intwrite_file0;〃写入文件*/voidmodifyO;voidcountO;protected:

employee*head;};3.2画出类图4编码Salesman4编码SalesmanSalesManager头文件#include〈iostream>#include〈cstring〉#include〈fstream>#include<stdlib.h〉#include〈conio.h〉#include〈windows.h〉intn=1515900;usingnamespacestd;//姓名,编号,级别,低薪,工资总额voidRegister();voidLogin();voidCorrect();光标位置函数externvoidgotoxy(intx,inty){COORDpos二{x,y};HANDLEhOut=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(hOut,pos);}classemployee//普通职工{protected:charname[20];//姓名intnumber;//编号charlevel[20];/*如果用string类型文件读到职位这个数据时会出现错误或者乱码,若是改成charlevel[20],文件的读写能实现但是会有警告。*/charsex;//性别floatsalary;//工资intflage;//标记public:employee(charnam[20],charlev[20],intnu,charse,intfla);employee(){}voidshow();floatSalary();char*GetName();//提取姓名函数intGetEmpNo();//提取编号char*Level();//提取级别charSex();//提取性别intGetFla();friendclassboss;employee*next;};voidemployee::show(){cout〈〈name〈〈"\t\t"〈〈number〈〈"\t\t"〈〈level〈〈"\t\t"〈〈sex〈〈"\t\t"〈〈salary〈〈endl;}employee::employee(charnam[20],charlev[20],intnu,charse,intfla)//初始化编号,基本工资,级别{strcpy(name,nam);//姓名strcpy(level,lev);//等级number二nu;//编号sex=se;//性别salary=1500;flage=fla;}char*employee::GetName(){returnname;}intemployee::GetEmpNo(){returnnumber;}char*employee::Level(){returnlevel;}charemployee::Sex(){returnsex;}intemployee::GetFla(){returnflage;}floatemployee::Salary(){returnsalary;}classManager:publicemployee//经理{public:Manager(charnam[20],charlev[20],intnu,charse,intfla);voidpayO;voidshow();};Manager::Manager(charnam[20],charlev[20],intnu,charse,intfla):employee(nam,lev,nu,se,fla){salary=5000;flage=fla;}classsalesman:publicemployee//销售员{protected:floatsale_num;//销售额floatsale_object;//项目额floatsale_numRate;//销售额提成率floatsale_objectRate;//项目额提成率public:salesman(){}salesman(charnam[20],charlev[20],intnu,charse,intfla,floats_n,floats_ob);voidshow();};salesman::salesman(charnam[20],charlev[20],intnu,charse,intfla,floats_n,floats_ob):employee(nam,lev,nu,se,fla){flage=fla;//标记sale_num=s_n;sale_object=s_ob;sale_numRate=0.15;sale_objectRate=0.10;salary二sale_objectRate*sale_object+sale_num*sale_numRate;}classSalesManager:publicManager{public:SalesManager(charnam[20],charlev[20],intnu,charse,intfla,floats_n,floats_ob);voidshow();protected:floatsale_num;//销售额floatsale_object;//项目额};SalesManager::SalesManager(charnam[20],charlev[20],intnu,charse,intfla,floats_n,floats_ob):Manager(nam,lev,nu,se,fla){strcpy(name,nam);///姓名strcpy(level,lev);//等级number二nu;//编号sex=se;//性别flage=fla;sale_num=s_n;sale_object=s_ob;salary二salary+(sale_object+sale_num)*0.35;}classTechnical:publicemployee{protected:floatcode_num;floatcode_price;public:Technical(charnam[20],charlev[20],intnu,charse,intfla,floatC_n);};Technical::Technical(charnam[20],charlev[20],intnu,charse,intfla,floatC_n){strcpy(name,nam);///姓名strcpy(level,lev);;//等级number二nu;//编号sex=se;//性别flage=fla;code_price=1000;salary二C_n*code_price;}classTechnicalManager:publicTechnical{public:TechnicalManager(charnam[20],charlev[20],intnu,charse,intfla,floatbon);protected:floatbonus;};TechnicalManager::TechnicalManager(charnam[20],charlev[20],intnu,charse,intfla,floatbon):Technical(nam,lev,nu,se,fla,l){strcpy(name,nam);///姓名strcpy(level,lev);//等级number二nu;//编号sex=se;//性别flage=fla;salary=5000;bonus二bon;salary二salary+bonus;}classboss{public:voidcreat_head();//增voidcreat();voiddelete_inf();//删voidseach();voidshow();voidsort();voidread_file();//读文件intwrite_file();//写入文件*/voidmodify();voidcount();protected:employee*head;}ba;统计函数voidboss::count(){system("cls");charchoice;while(true){intall_num=O,SEX_W_num=O,SEX_M_num=O;floatmax_salary=O,min_salary;floatALL_Salary=O;intws_num,jl_num;intemployee_num,salesman_num,SalesManager_num,Technical_num,TechnicalManager_num;employee_num=salesman_num=SalesManager_num=Technical_num=TechnicalManager_num=0;employee*p=head;employee*p1=head->next;辻(pl!=NULL)min_salary=p1->Salary();while(p1!=NULL){ALL_Salary=p1->Salary()+ALL_Salary;all_num++;辻(pl-〉Sex()==119)SEX_W_num++;elseSEX_M_num++;if(pl—〉Salary()〉max_salary){{max_salary二pl-〉Salary();if(pl-〉Salary()〈min_salary)min_salary二pl-〉Salary();辻(pl-〉GetFla()==l)employee_num++;elseif(pl-〉GetFla()==2)salesman_num++;elseif(pl-〉GetFla()==3)SalesManager_num++;elseif(pl-〉GetFla()==4)Technical_num++;elseif(pl-〉GetFla()==5)TechnicalManager_num++;p=p1;pl二pl-〉next;}pl二head—〉next;辻(p1!=NULL){cout〈〈"\t\t\t公司职员信息"〈〈endl;cout〈〈endl;cout〈〈"\t\t\t职员一共:"〈〈all_num〈〈"人!"〈〈endl;num〈〈endl;cout〈〈〃\t\t\t其中男生人数:〃〈〈SEX_M_num〈〈〃女生人数:〃〈〈SEX_Wnum〈〈endl;cout〈〈"\t\t\t公司文书人数为:"〈〈employee_num〈〈endl;cout〈〈"\t\t\t销售人员人数为:"〈〈salesman_num〈〈endl;cout〈〈"\t\t\t销售经理人数为:"〈〈SalesManager_num〈〈endl;cout〈〈"\t\t\t技术人员人数为:"〈〈Technical_num〈〈endl;cout〈〈"\t\t\t技术经理人数为:"〈〈TechnicalManager_num〈〈endl;cout〈〈"\t\t\t公司的人均月薪为:"〈〈ALL_Salary/all_num〈〈endl;cout〈〈"\t\t\t最高工资:"〈〈max_salary〈〈endl;cout〈〈"\t\t\t最低工资:"〈〈min_salary〈〈endl〈〈endl;}else{cout〈〈"\t\t\t员工信息暂时未统计"〈〈endl;}cout〈〈"\t\t\t是否离开本界面?y/n"〈〈endl;cin>>choice;if(choice=='y')break;}}修改函数voidboss::modify()//修改作用system("cls");while(true){inti=O;employee*p=head;employee*pl二head—〉next;charNo;charname2[20],namel[20];//姓名intnumber;//编号charleve[20];//等级charsex;//性别floatsalary;//工资system("cls");cout〈〈"\t\t\t请输入修改的类型"〈〈endl;cout〈〈"\t\t\tl姓名"〈〈endl;cout〈〈"\t\t\t2等级"〈〈endl;cout〈〈"\t\t\t3工资"〈〈endl;cin〉〉No;switch(No){case'l':cout〈〈"\t\t\t请输入编号:"〈〈endl;cin〉〉number;cout〈〈"\t\t\t输入修改后的姓名:"〈〈endl;cin〉〉namel;while(pl!=NULL){if(pl-〉GetEmpNo()==number){strcpy(pl-〉name,namel);i=1;}pl二pl-〉next;}break;case2:cout〈〈"\t\t\t输入调整人员编号:"〈〈endl;cin〉〉number;cout〈〈"\t\t\t输入调整岗位(文书,技术工,业务员,业务经理):"〈〈endl;cin〉〉leve;while(p1!=NULL){if(p1-〉GetEmpNo()==number){i=1;strcpy(p1—〉level,leve);{{}pl二pl-〉next;}break;case3:cout〈〈"\t\t\t输入调整编号:"〈〈endl;cin〉〉number;cout〈〈"\t\t\t修改后的薪水:"〈〈endl;cin〉〉salary;while(p1!=NULL){if(p1-〉GetEmpNo()==number){i=1;p1-〉salary二salary;}pl二p1-〉next;}break;default:cout〈〈"无此选项"〈〈endl;break;}if(i==0)cout〈〈"\t\t\t无此人员,请核对后再调整信息!"〈〈endl;辻(i==1){cout〈〈"\t\t\t修改成功!"〈〈endl;}cout〈〈"\t\t\t是否退出y/n"〈〈endl;charchoice;cin>>choice;if(choice=='y')break;}}}排序函数voidboss::sort(){system("cls");employee*p,*min,*p_min,*first=NULL,*tail;employee*p1二head—〉next;while(p1!=NULL)for(min二p1,p二p1;p-〉next!二NULL;p二p-〉next){{{if(p-〉next-〉Salary()〈min-〉Salary()){p_min=p;min=p->next;}}辻(first==NULL){first二min;tail二min;}else{tail->next二min;tail二min;}if(p1==min){p1=p1->next;}else{p_min—〉next二min—〉next;}}if(first!=NULL){tail-〉next=NULL;}head—〉next=first;show();}保存函数intboss::write_file(){if(head-〉next==NULL)cout〈〈"空信息,请添加后保存"〈〈endl;else{employee*p二head—〉next;ofstreammyfile("file.txt");ofstreamnumber("file1.txt");if(!myfile||!number)cout〈〈"文件打开失败!"〈〈endl;return。;intl;do{intsize;l二p-〉GetFla();switch⑴{casel:size二sizeof(employee);break;case2:size二sizeof(salesman);break;case3:size=sizeof(SalesManager);break;case4:size=sizeof(Technical);break;case5:size二sizeof(TechnicalManager);break;}number.write((char*)&l,sizeof(int));myfile.write((char*)p,size);p=p—〉next;}while(p!二NULL);myfile.close();number.close();cout〈〈"\t\t\t员工信息更新成功!"〈〈endl;}}删除函数voidboss::delete_inf(){system("cls");intnum;employee*p=head;employee*p1=head—>next;cout〈〈"\t\t\t请输入要删除员工的编号:"〈〈endl;cin〉〉num;while(p1!=NULL){if(pl-〉GetEmpNo()==num){p—>next二pl—〉next;deletepl;cout〈〈"\t\t\t该员工已删除"〈〈endl;write_file();break;}p=p1;pl二pl—〉next;f(p1==NULL){cout〈〈"\t\t\t无编号为"〈〈num〈〈"的员工!"〈〈endl;}system("PAUSE");}査找函数voidboss::seach(){system("cls");intnumber;employee*p=head;employee*p1=head->next;cout〈〈"\t\t\t请输入要查找员工的编号"〈〈endl;cin〉〉number;system("cls");while(p1!=NULL){if(p1-〉GetEmpNo()==number){cout〈〈"姓名\t\t编号\t\t职务\t\t\t性别\t\t工资"〈〈endl;p1-〉show();p1=head—>next;break;}p=p1;pl二p1-〉next;}f(p1==NULL)cout〈〈"\t\t\t查无此人"〈〈endl;system("PAUSE");}读取函数voidboss::read_file(){employee*p1,*p2;charname[20];//姓名intnumber;//编号charlevel[20];//等级charsex;//性别floatsalary;//工资intflage;floatx,y;ifstreaminfile("file.txt");ifstreamin("file1.txt");if(!infile||!in){cout〈〈"尚未存入信息,请创建后再进行操作。"〈〈endl;}pl二newemployee(name,level,number,sex,flage);head二pl;intsize;inti=0;do{cout〈〈"*"〈〈endl;if(i>0){p1-〉next=p2;p1=p2;}intflage;in.read((char*)(&flage),sizeof(int));switch(flage){case1:size=sizeof(employee(name,level,number,sex,flage));p2=newemployee(name,level,number,sex,1);break;case2:size二sizeof(salesman(name,level,number,sex,flage,x,y));p2二newsalesman(name,level,number,sex,2,x,y);break;case3:size二sizeof(SalesManager(name,level,number,sex,flage,x,y));p2二newSalesManager(name,level,number,sex,3,y,x);break;case4:size二sizeof(Technical(name,level,number,sex,flage,x));p2=newTechnical(name,level,number,sex,4,y);break;case5:size二sizeof(TechnicalManager(name,level,number,sex,flage,x));p2=newTechnicalManager(name,level,number,sex,5,y);break;}++i;}while(infile.read((char*)p2,size));in.close();infile.close();}创建空头函数voidboss::creat_head(){head二newemployee;head—〉next=NULL;}添加职员函数voidboss::creat(){while(true){system("cls");ifstreamw("li.dat",ios::binary);w.read((char*)&n,sizeof(int));w.close();employee*pl,*p2;pl二head;inti=0;while(p1->next!二NULL){p1=p1->next;}chartype;charname[20];charlev[20];charsex;cout〈〈"\t\t\t请输入你所建立的信息:"〈〈endl;cout〈〈"\t\t1公司文书2销售人员3销售经理4技术人员5技术经理"〈〈endl;cin〉〉type;system("cls");floatsale_num,sale_object;switch(type){case'l':cout〈〈"\t\t\t输入姓名:"〈〈endl;cin〉〉name;cout〈〈"\t\t\t输入性别:"〈〈endl;cin>>sex;strcpy(lev,"公司文书");p2二newemployee(name,lev,n++,sex,1);break;case2:cout〈〈"\t\t\t输入姓名:"〈〈endl;cin〉〉name;cout〈〈"\t\t\t输入性别:"〈〈endl;cin>>sex;cout〈〈"\t\t\t请输入销售额:"〈〈endl;cin〉〉sale_num;cout〈〈"\t\t\t请输入项目额:"〈〈endl;cin〉〉sale_object;strcpy(lev,"销售人员");p2二newsalesman(name,lev,n++,sex,2,sale_num,sale_object);break;,o?case3:cout〈〈"\t\t\t输入姓名:"〈〈endl;cin〉〉name;cout〈〈"\t\t\t输入性别:"<<endl;cin〉〉sex;cout〈〈"\t\t\t请输入销售提成:"〈〈endl;cin〉〉sale_object;strcpy(lev,"销售经理");p2二newSalesManager(name,lev,n++,sex,3,sale_num,sale_object);break;case4:cout〈〈"\t\t\t输入姓名:"〈〈endl;cin〉〉name;cout〈〈"\t\t\t输入性别:"〈〈endl;cin>>sex;cout〈〈"\t\t\t请输入代码数(千行):"〈〈endl;cin〉〉sale_num;strcpy(lev,"技术人员");p2二newTechnical(name,lev,n++,sex,4,sale_num);break;case'5':cout〈〈"\t\t\t输入姓名:"〈〈endl;cin〉〉name;cout〈〈"\t\t\t输入性别:"〈〈endl;cin>>sex;cout〈〈"\t\t\t输入提成:"〈〈endl;cin〉〉sale_num;strcpy(lev,"技术经理");p2二newTechnicalManager(name,lev,n++,sex,5,sale_num);break;//default:cout〈〈"\t\t\t无此选项!"〈〈endl;//break;}p2-〉next=NULL;pl-〉next=p2;ofstreamq("li.dat",ios::binary);辻(q==NULL){cout〈〈"li.daterror"〈〈endl;}q.write((char*)&n,sizeof(int));q.close();write_file();cout〈〈"\t\t\t是否继续添加信息y/n?"〈〈endl;cin〉〉type;system("cls");if(type==110)break;}}voidfun(employee*ptr){ptr-〉show();}显示函数voidboss::show(){chartype;system("cls");while(1){employee*pp=head->next;if(pp==NULL)cout〈〈"\t\t\t信息为空,请创建信息"〈〈endl;else{cout〈〈"姓名\t\t编号\t\t职务\t\t\t性别\t\t工资"〈〈endl;while(pp!二NULL){fun(pp);pp=pp-〉next;}}cout〈〈"\t\t\t是否退出?y/n"〈〈endl;cin〉〉type;system("cls");if(type==121)break;}}老板菜单函数voidMEUl(){charchoice;bossba;ifstreaminfile("file.txt");ifstreamin("file1.txt");ba.creat_head();if(infile&&in){cout〈〈"\t\t\t检测到有保存的信息,是否加载N/Y"〈〈endl;charchoice;cin〉〉choice;if(choice=='Y'||choice=='y'){ba.read_file();ba.show();}else{ofstreamq("li.dat",ios::binary);cout〈〈"\t\t\t是否重新建立人员信息:"〈〈endl;cin〉〉choice;if(choice=='Y'||choice=='y'){n=1515900;q.write((char*)&n,sizeof(int));}q.close();}}system("cls");while(1){cout〈〈"\t\t\t请选择功能\t\t\t"〈〈endl;cout〈〈"\t\t\tl增加职员信息\t\t\t"〈〈endl;cout〈〈"\t\t\t2显示职员信息\t\t\t"〈〈endl;cout〈〈"\t\t\t3删除职员信息\t\t\t"〈〈endl;cout〈〈"\t\t\t4保存职员信息\t\t\t"〈〈endl;cout〈〈"\t\t\t5读取职员信息\t\t\t"〈〈endl;cout〈〈"\t\t\t6修改职员信息\t\t\t"〈〈endl;cout〈〈"\t\t\t7排序职员信息\t\t\t"〈〈endl;cout〈〈"\t\t\t8统计员工信息\t\t\t"〈〈endl;cout〈〈"\t\t\t9查找员工信息\t\t\t"〈〈endl;cout〈〈"\t\t\tO退出\t\t\t"〈〈endl;gotoxy(28,ll);cout〈〈"你的选择是";cin〉〉choice;switch(choice){case'1':ba.creat();break;case2:ba.show();break;case3:ba.delete_inf();break;case4:ba.write_file();break;case'5':ba.read_file();break;case'6':ba.modifyO;break;case7:ba.sort();break;case'8':ba.count();break;case'9':ba.seach();break;case'0':cout〈〈"退出"〈〈endl;break;default:cout〈〈"无此选项"〈〈endl;break;}system("cls");if(choice=='0'){break;}}}职员菜单函数voidMEU2(){system("cls");charchoice;bossba;ba.creat_head();ba.read_file();while(1){cout〈〈"\t\t\t请选择功能:"〈〈endl;cout〈〈"l\t\t\t显示职员信息"〈〈endl;cout〈〈"2\t\t\t公司职员状况"〈〈endl;cout〈〈"3\t\t\t查找职员信息"〈〈endl;cout〈〈"0\t\t\t退出员工身份"〈〈endl;cin〉〉choice;switch(choice){case'1':ba.show();break;case2:ba.count();break;case3:ba.seach();break;}if(choice=='0')break;}}登录菜单函数voidMEU3(){system("cls");charchoice;while(1){cout〈〈"\t\t\t请选择功能"〈〈endl;cout〈〈"\t\t\tl注册账号"〈〈endl;cout〈〈"\t\t\t2登录账号"〈〈endl;cout〈〈"\t\t\t3修改账号"〈〈endl;cout〈〈"\t\t\tO退出老板身份"〈〈endl;cin〉〉choice;switch(choice){case'1':Register();break;case2:Login();break;case3:Correct();break;}if(choice=='0')break;}}菜单函数intMEU(){while(l){cout〈〈"\t\t\t请选择当前身份:"〈〈endl;cout〈〈"\t\t\tl公司老板"〈〈endl;cout〈〈"\t\t\t2普通员工"〈〈endl;cout〈〈"\t\t\tO退出"〈〈endl;charchoice;cin〉〉choice;switch(choice){case'1':MEU3();break;case'2':MEU2();break;case'0':exit(l);default:cout〈〈"无此选项"〈〈endl;break;}}}intmain(){MEU();return。;}注册函数voidRegister(){system("cls");ofstreamoutfile("pass.dat",ios::binary);ofstreamoutfilel("word.dat",ios::binary);charpass[20],wordl[20],word2[20];system("cls");cout〈〈"\t\t\t请输入用户注册账号"〈〈endl;cin〉〉pass;cout〈〈"\t\t\t请输入密码"〈〈endl;cin〉〉wordl;cout〈〈"\t\t\t请再次输入密码"〈〈endl;cin〉〉word2;if(strcmp(wordl,word2)!=0){{{cout〈〈"\t\t\t两次密码不一致,请重新注册!!!"〈〈endl;}else{for(inti=0;i〈20;i++){outfile.write((char*)&pass[i],sizeof(char));outfilel.write((char*)&wordl[i],sizeof(char));}cout〈〈"\t\t\t恭喜!账号创建成功"〈〈endl;}outfile.close();outfilel.close();}登录函数voidLogin(){system("cls");ifstreaminfile("pass.dat",ios::binary);ifstreaminfilel("word.dat",ios::binary);if(!infile||!infilel){cout〈〈"\t\t\t抱歉!该用户丢失或未建,请重建!+"〈〈endl;}else{charFile_pass[20],File_word[20],pass[20],word[20];for(inti=0;i〈20;i++){infile.read((char*)&File_pass[i],sizeof(char));infilel.read((char*)&File_word[i],sizeof(char));}cout〈〈"\t\t\t请输入用户名:"〈〈endl;cin〉〉pass;if(strcmp(pass,File_pass)!=O){cout〈〈"\t\t\t用户名错误,请重新登陆!!!"〈〈endl;}else{cout〈〈"\t\t\t请输入密码:"〈〈endl;cin〉〉word;if(strcmp(word,File_word)!=0)cout〈〈"\t\t\t密码错误,请重新登陆!!!"〈〈endl;}else{cout〈〈"\t\t\t恭喜,登陆成功"〈〈endl;MEU1();}}}infile.close();infile.close();}修改密码函数voidCorrect(){system("cls");ifstreaminfile("pass.dat",ios::binary);charFile_pass[20],name[20],wordl[20],word2[20];for(inti=0;i〈20;i++){infile.read((ch

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论