版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件學院課程設(shè)計報告設(shè)計名稱:C++課程設(shè)計選題名稱:人事管理系統(tǒng)姓名:學號:1515專業(yè)班級:系(院):設(shè)計時間:設(shè)計地點:需求分析1.1需求概述設(shè)計一個公司人事管理系統(tǒng),該系統(tǒng)主要實現(xiàn)了對老板和普通員工(游客)不同的操作?!?】老板身份的功能:(1)增加職員信息(2)顯示職員信息(3)刪除職員信息(4)保存職員信息(5)讀取職員信息(6)修改職員信息(7)排序職員信息(8)統(tǒng)計員工信息(9)查找員工信息.. ..(10)退出系統(tǒng)【2】普通員工的功能1)顯示職員信息(2)公司職員狀況(3)查找職員信息(4)退出系統(tǒng)1.2需求說明1隨著現(xiàn)代社會的發(fā)展,公司的人員信息資料變化較大。在這個信息爆炸的時代再像曾經(jīng)用筆那樣記錄人員信息效率較低,工作量較大。與此相對應的信息登記電子化則很好的解決此問題。故推出本人事管理系統(tǒng)令你擺脫往日與筆墨為伴的歲月。2本系統(tǒng)能記錄常見的姓名,性別,編號,職務,月薪等基本工資。對于錄入的人員的信息都能用文件保存起來,并且可以任意對其進行刪除,瀏覽,修改,增加等常見操作。3顯示所有人員信息有一定規(guī)范的格式,以便老板以及其他員工的查看,分析等應用。4該管理系統(tǒng)是以大菜單下細分小菜單的方式進行工作,為不同用戶提供清晰且不同菜單功能的使用提示,依據(jù)不同用戶的不同選擇進行不同操作任意切換總體設(shè)計2.1功能模塊圖該系統(tǒng)按功能模塊劃分如下 :公司人事管理系統(tǒng)老板 普通員工增顯刪保讀修排統(tǒng)查公統(tǒng)查加示除存取改序計找退司計找職職職職職職職員員出職員職員員員員員員員工工系員工員信信信信信信信信信統(tǒng)狀信信息息息息息息息息息況息息.. ..按按照照員修修修員工改改改工的姓職工的編名務資編號號2.2功能描述(1)身份選擇模塊是公司人事管理系統(tǒng)的入口,是用來完成用戶操作命令的接口,用戶可以根據(jù)提示進入不同的身份的功能界面, 進而實現(xiàn)不同用戶的不同需求2)進入公司人員管理界面開始選擇功能,如果系統(tǒng)讀取到之前的保存的信息可以增刪查改等常見功能,如沒有則可初始化人員,然后進行相應操作。3)對人員信息的查詢可以運用獨一無二的編號快速查找職工。4)在刪除商品信息模塊中僅允許老板身份人員對職員信息進行刪除操作5)修改職員信息中老板可以根據(jù)需要對某些職員進行提拔,調(diào)整工資等功能?!?. ..6)在統(tǒng)計職員信息功能中,統(tǒng)計出當前所有職員的一些信息。如男女職員的數(shù)目,某一職務的人數(shù),所有職員數(shù)目等等功能。7)在普通職員身份僅僅能查看公司特定信息,任何具有修改信息的功能模塊,考慮到安全性均不能實現(xiàn)。2.3數(shù)據(jù)結(jié)構(gòu)在公司人事管理系統(tǒng)中主要的數(shù)據(jù)結(jié)構(gòu)是職員的信息, 包含職員姓名,職員性別,職員編號,職員工資,職員職務,等在處理過程中可以作為一個員工的不同類別進行處理,其中員工類別包括文書類,技術(shù)人員類,技術(shù)經(jīng)理類,業(yè)務員類,業(yè)務員經(jīng)理類等等。用戶可以根據(jù)菜單提示對信息進行不同處理2.4系統(tǒng)流程圖老板功能流程圖開始功能選擇否增加職工否刪除職工否 否查詢職工否 否修改職工否.. ..否是結(jié)束 退出老板身份否員工功能流程圖開始功能選擇執(zhí)行完畢顯示所有職工信息是 否是 否查看公司信息查是詢員工信否息退出員工身份否 是退出.. ..詳細設(shè)計3.1 類的設(shè)計在;人事管理系統(tǒng)中共設(shè)計了六個類, 分別是: 文書(employee)類,銷售員(salesman)類,銷售經(jīng)理(SalesManager)類,技術(shù)員(Technical )類,技術(shù)經(jīng)理(TechnicalManager )類,老板(boss)類,employee類作為基類,其他類均由 employee類派生。(1)文書(employee)類classemployee// 普通職工{protected:charname[20];// 姓名intnumber;// 編號charlevel[20];// 職務charsex;// 性別floatsalary;// 工資intflage;// 標記public:employee(charnam[20],charlev[20],intnu,charse,intfla);employee(){}voidshow();floatSalary();char*GetName();// 提取姓名函數(shù)intGetEmpNo();// 提取編號char*Level();// 提取級別charSex();// 提取性別intGetFla();friendclassboss;employee*next;};(2)經(jīng)理(Manager)類classManager:publicemployee// 經(jīng)理{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:salesman(){}salesman(char nam[20],char lev[20],int nu,char se,int fla,float s_n,floats_ob);voidshow();};salesman::salesman(char nam[20],char lev[20],int nu,char se,int fla,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;}4)銷售經(jīng)理(SalesManage)類classSalesManager:publicManager{public:SalesManager(char nam[20],char lev[20],int nu,char se,int fla,floats_n,floats_ob);voidshow();protected:floatsale_num;// 銷售額floatsale_object;// 項目額};SalesManager::SalesManager(char nam[20],char lev[20],int nu,char se,int fla,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)技術(shù)人員(Technical)類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;}6)技術(shù)經(jīng)理(TechnicalManager)類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,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_head();//增voidcreat();voiddelete_inf();//刪voidseach();voidshow();voidsort();voidread_file();//讀文件intwrite_file();//寫入文件*/voidmodify();voidcount();protected:employee*head;};3.2 畫出類圖EmployeeSalesman SalesManager.. ..4編碼頭文件#include<iostream>#include<cstring>#include<fstream>#include<stdlib.h>#include<conio.h>#include<windows.h>intn=1515900;usingnamespacestd;// 姓名,編號,級別,低薪,工資總額voidRegister();voidLogin();voidCorrect();光標位置函數(shù)externvoidgotoxy(intx,inty){COORDpos={x,y};HANDLEhOut=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(hOut,pos);}classemployee// 普通職工{protected:charname[20];// 姓名intnumber;// 編號charlevel[20];/* 如果用string 類型 文件讀到職位這個數(shù)據(jù)時會出現(xiàn)錯誤或者亂碼 ,若是改成 charlevel[20] ,文件的讀寫能實現(xiàn)但是會有警告。 */charsex;// 性別floatsalary;// 工資intflage;// 標記public:employee(charnam[20],charlev[20],intnu,charse,intfla);employee(){}voidshow();floatSalary();char*GetName();// 提取姓名函數(shù)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// 經(jīng)理{.. ..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;}classsalesman:publicemployee// 銷售員{protected:floatsale_num;// 銷售額floatsale_object;// 項目額floatsale_numRate;// 銷售額提成率floatsale_objectRate;// 項目額提成率public:salesman(){}salesman(char nam[20],char lev[20],int nu,char se,int fla,float s_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(char nam[20],char lev[20],int nu,char se,int fla,floats_n,floats_ob);voidshow();protected:floatsale_num;// 銷售額floatsale_object;// 項目額};.. ..SalesManager::SalesManager(char nam[20],char lev[20],int nu,char se,int fla,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,1){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;統(tǒng)計函數(shù)voidboss::count(){system("cls");charchoice;while(true){intall_num=0,SEX_W_num=0,SEX_M_num=0;floatmax_salary=0,min_salary;floatALL_Salary=0;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;if(p1!=NULL)min_salary=p1->Salary();while(p1!=NULL).. ..{ALL_Salary=p1->Salary()+ALL_Salary;all_num++;if(p1->Sex()==119)SEX_W_num++;elseSEX_M_num++;if(p1->Salary()>max_salary)max_salary=p1->Salary();if(p1->Salary()<min_salary)min_salary=p1->Salary();if(p1->GetFla()==1)employee_num++;elseif(p1->GetFla()==2)salesman_num++;elseif(p1->GetFla()==3)SalesManager_num++;elseif(p1->GetFla()==4)Technical_num++;elseif(p1->GetFla()==5)TechnicalManager_num++;p=p1;p1=p1->next;}p1=head->next;if(p1!=NULL){cout<<"\t\t\t 公司職員信息 "<<endl;cout<<endl;cout<<"\t\t\t 職員一共:"<<all_num<<" 人!"<<endl;cout<<"\t\t\t 其中男生人數(shù):"<<SEX_M_num<<" 女生人數(shù):"<<SEX_W_num<<endl;cout<<"\t\t\t公司文書人數(shù)為cout<<"\t\t\t銷售人員人數(shù)為cout<<"\t\t\t銷售經(jīng)理人數(shù)為cout<<"\t\t\t技術(shù)人員人數(shù)為cout<<"\t\t\t技術(shù)<<TechnicalManager_num<<endl;
經(jīng) 理 人 數(shù) 為 :"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 員工信息暫時未統(tǒng)計 "<<endl;}cout<<"\t\t\t 是否離開本界面 ?y/n"<<endl;cin>>choice;if(choice=='y')break;}}修改函數(shù)voidboss::modify()// 修改作用{system("cls");while(true){inti=0;employee*p=head;employee*p1=head->next;charNo;charname2[20],name1[20];// 姓名intnumber;// 編號charleve[20];// 等級charsex;// 性別floatsalary;// 工資system("cls");cout<<"\t\t\t 請輸入修改的類型 "<<endl;cout<<"\t\t\t1 姓名 "<<endl;cout<<"\t\t\t2 等級 "<<endl;cout<<"\t\t\t3 工資 "<<endl;cin>>No;switch(No){case'1':cout<<"\t\t\t 請輸入編號: "<<endl;cin>>number;cout<<"\t\t\t 輸入修改后的姓名: "<<endl;cin>>name1;while(p1!=NULL){if(p1->GetEmpNo()==number){strcpy(p1->name,name1);i=1;.. ..}p1=p1->next;}break;case'2':cout<<"\t\t\t 輸入調(diào)整人員編號: "<<endl;cin>>number;cout<<"\t\t\t 輸入調(diào)整崗位 (文書,技術(shù)工,業(yè)務員,業(yè)務經(jīng)理):"<<endl;cin>>leve;while(p1!=NULL){if(p1->GetEmpNo()==number){i=1;strcpy(p1->level,leve);}p1=p1->next;}break;case'3':cout<<"\t\t\t 輸入調(diào)整編號: "<<endl;cin>>number;cout<<"\t\t\t 修改后的薪水 :"<<endl;cin>>salary;while(p1!=NULL){if(p1->GetEmpNo()==number){i=1;p1->salary=salary;}p1=p1->next;}break;default:cout<<" 無此選項"<<endl;break;}if(i==0)cout<<"\t\t\t 無此人員,請核對后再調(diào)整信息 !"<<endl;if(i==1){cout<<"\t\t\t 修改成功!"<<endl;}cout<<"\t\t\t 是否退出 y/n"<<endl;charchoice;.. ..cin>>choice;if(choice=='y'){break;}}}排序函數(shù)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;}}if(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();}保存函數(shù)intboss::write_file(){if(head->next==NULL)cout<<"空信息,請?zhí)砑雍蟊4?"<<endl;else{employee*p=head->next;ofstreammyfile("file.txt");ofstreamnumber("file1.txt");if(!myfile||!number){cout<<"文件打開失敗 !"<<endl;return0;}intl;do{intsize;l=p->GetFla();switch(l){case1: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;}}刪除函數(shù)voidboss::delete_inf().. ..{system("cls");intnum;employee*p=head;employee*p1=head->next;cout<<"\t\t\t 請輸入要刪除員工的編號 :"<<endl;cin>>num;while(p1!=NULL){if(p1->GetEmpNo()==num){p->next=p1->next;deletep1;cout<<"\t\t\t 該員工已刪除 "<<endl;write_file();break;}p=p1;p1=p1->next;}if(p1==NULL){cout<<"\t\t\t 無編號為"<<num<<"的員工!"<<endl;}system("PAUSE");}查找函數(shù)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;p1=p1->next;}if(p1==NULL)cout<<"\t\t\t 查無此人"<<endl;system("PAUSE");}讀取函數(shù)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<<" 尚未存入信息,請創(chuàng)建后再進行操作。 "<<endl;}p1=newemployee(name,level,number,sex,flage);head=p1;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();}創(chuàng)建空頭函數(shù)voidboss::creat_head(){head=newemployee;head->next=NULL;}添加職員函數(shù)voidboss::creat(){while(true){ system("cls");ifstreamw("li.dat",ios::binary);w.read((char*)&n,sizeof(int));w.close();employee*p1,*p2;p1=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 銷售經(jīng)理4 技術(shù)人員 5 技術(shù)經(jīng)理"<<endl;cin>>type;system("cls");floatsale_num,sale_object;switch(type){case'1':cout<<"\t\t\t 輸入姓名:"<<endl;cin>>name;cout<<"\t\t\t 輸入性別:"<<endl;cin>>sex;strcpy(lev," 公司文書");p2=newemployee(name,lev,n++,sex,1);break;case'2':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;case'3':cout<<"\t\t\t 輸入姓名:"<<endl;cin>>name;cout<<"\t\t\t 輸入性別:"<<endl;cin>>sex;cout<<"\t\t\t 請輸入銷售提成: "<<endl;cin>>sale_object;strcpy(lev," 銷售經(jīng)理");p2=newSalesManager(name,lev,n++,sex,3,sale_num,sale_object);break;case'4':cout<<"\t\t\t 輸入姓名:"<<endl;cin>>name;.. ..cout<<"\t\t\t 輸入性別:"<<endl;cin>>sex;cout<<"\t\t\t 請輸入代碼數(shù) (千行):"<<endl;cin>>sale_num;strcpy(lev," 技術(shù)人員");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," 技術(shù)經(jīng)理");p2=newTechnicalManager(name,lev,n++,sex,5,sale_num);break;//default:cout<<"\t\t\t 無此選項!"<<endl;// break;}p2->next=NULL;p1->next=p2;ofstreamq("li.dat",ios::binary);if(q==NULL){cout<<"li.daterror"<<endl;}q.write((char*)&n,sizeof(int));q.close();write_file();cout<<"\t\t\t 是否繼續(xù)添加信息 y/n?"<<endl;cin>>type;system("cls");if(type==110)break;}}voidfun(employee*ptr){.. ..ptr->show();}顯示函數(shù)voidboss::show(){chartype;system("cls");while(1){employee*pp=head->next;if(pp==NULL)cout<<"\t\t\t 信息為空,請創(chuàng)建信息 "<<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;}}老板菜單函數(shù)voidMEU1(){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\t1增加職員信息\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ǒng)計員工信息\t\t\t"<<endl;cout<<"\t\t\t9查找員工信息\t\t\t"<<endl;cout<<"\t\t\t0退出\t\t\t"<<endl;gotoxy(28,11);cout<<"你的選擇是";cin>>choice;switch(choice){case'1':ba.creat();break;case'2':ba.show();break;case'3':ba.delete_inf();break;case'4':ba.write_file();break;case'5':.. ..ba.read_file();break;case'6':ba.modify();break;case'7':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;}}}職員菜單函數(shù)voidMEU2(){system("cls");charchoice;bossba;ba.creat_head();ba.read_file();while(1){cout<<"\t\t\t請選擇功能:"<<endl;cout<<"1\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;case'2':ba.count();break;case'3':ba.seach();break;}if(choice=='0')break;}}登錄菜單函數(shù)voidMEU3(){system("cls");charchoice;while(1){cout<<"\t\t\t請選擇功能"<<endl;cout<<"\t\t\t1 注冊賬號"<<endl;cout<<"\t\t\t2 登錄賬號"<<endl;cout<<"\t\t\t3 修改賬號"<<endl;cout<<"\t\t\t0 退出老板身份 "<<endl;cin>>choice;switch(choice){ case'1':Register();break;case'2':Login();break;case'3':Correct();break;}if(choice=='0')break;}}菜單函數(shù)intMEU(){while(1){.. ..cout<<"\t\t\t 請選擇當前身份 :"<<endl;cout<<"\t\t\t1 公司老板 "<<endl;cout<<"\t\t\t2 普通員工 "<<endl;cout<<"\t\t\t0 退出 "<<endl;charchoice;cin>>choice;switch(choice){case'1':MEU3();break;case'2':MEU2();break;case'0':exit(1);default:cout<<"無此選項"<<endl;break;}}}intmain(){MEU();return0;}注冊函數(shù)voidRegister(){system("cls");ofstreamoutfile("pass.dat",ios::binary);ofstreamoutfile1("word.dat",ios::binary);charpass[20],word1[20],word2[20];system("cls");cout<<"\t\t\t請輸入用戶注冊賬號"<<endl;cin>>pass;cout<<"\t\t\t 請輸入密碼"<<endl;cin>>word1;cout<<"\t\t\t 請再次輸入密碼 "<<endl;cin>>word2;if(strcmp(word1,word2)!=0){cout<<"\t\t\t 兩次密碼不一致,請重新注冊?。。?"<<endl;}else{for(inti=0;i<20;i++).. ..{outfile.write((char*)&pass[i],sizeof(char));outfile1.write((char*)&word1[i],sizeof(char));}cout<<"\t\t\t 恭喜!賬號創(chuàng)建成功 "<<endl;}outfile.close();outfile1.close();}登錄函數(shù)voidLogin(){system("cls");ifstreaminfile("pass.dat",ios::binary);ifstreaminfile1("word.dat",ios::binary);if(!infile||!infile1){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));infile1.read((char*)&File_word[i],sizeof(char));}cout<<"\t\t\t 請輸入用戶名: "<<endl;cin>>pass;if(strcmp(pass,File_pass)!=0){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();}修改密碼函數(shù)voidCorrect(){system("cls");ifstreaminfile("pass.dat",ios::binary);charFile_pass[20],name[20],word1[20],word2[20];for(inti=0;i<20;i++){infile.read((char*)&File_pass[i],sizeof(char));}cout<<"請輸入需要修改的用戶名: "<<endl;cin>>name;if(strcmp(name,File_pass)!
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國防煙門行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國木砂板行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國塑膠面具行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國參湯狗肉數(shù)據(jù)監(jiān)測研究報告
- 二零二五年度企業(yè)合同審查法律顧問聘用合同
- 2025年度航空油罐車租賃及應急演練服務合同
- 二零二五年度游艇俱樂部租賃合同租金變動與船員培訓補充協(xié)議
- 2025年度火鍋店消防安全管理及應急預案合同
- 2025年度二零二五年度購房分期房地產(chǎn)權(quán)屬轉(zhuǎn)移合同
- 2025年度物業(yè)業(yè)主共建社區(qū)志愿服務合同模板
- 【壓縮式落葉清掃機設(shè)計(論文)6900字】
- 成人失禁相關(guān)性皮炎的預防與護理
- 人教版(2024新版)七年級上冊數(shù)學第六章《幾何圖形初步》測試卷(含答案)
- 九宮數(shù)獨200題(附答案全)
- JT-T-496-2018公路地下通信管道高密度聚乙烯硅芯塑料管
- 食材配送投標方案技術(shù)標
- 再見深海合唱簡譜【珠海童年樹合唱團】
- 《聚焦客戶創(chuàng)造價值》課件
- PTW-UNIDOS-E-放射劑量儀中文說明書
- 保險學(第五版)課件全套 魏華林 第0-18章 緒論、風險與保險- 保險市場監(jiān)管、附章:社會保險
- 典范英語2b課文電子書
評論
0/150
提交評論