公司人事管理系統(tǒng)_第1頁
公司人事管理系統(tǒng)_第2頁
公司人事管理系統(tǒng)_第3頁
公司人事管理系統(tǒng)_第4頁
公司人事管理系統(tǒng)_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

軟件學(xué)院課程設(shè)計報告設(shè)計名稱:C++課程設(shè)計選題名稱:人事管理系統(tǒng)姓名:學(xué)號:1515專業(yè)班級:系(院):設(shè)計時間:設(shè)計地點:1需求分析1.1需求概述設(shè)計一個公司人事管理系統(tǒng),該系統(tǒng)主要實現(xiàn)了對老板和普通員工(游客)不同的操作?!?】老板身份的功能:(1)增加職員信息(2)顯示職員信息(3)刪除職員信息(4)保存職員信息(5)讀取職員信息(5)讀取職員信息(6)修改職員信息(7)排序職員信息統(tǒng)計員工信息查找員工信息退出系統(tǒng)【2】普通員工的功能顯示職員信息(2)公司職員狀況查找職員信息退出系統(tǒng)1.2需求說明(1隨著現(xiàn)代社會的發(fā)展,公司的人員信息資料變化較大。在這個信息爆炸的時代再像曾經(jīng)用筆那樣記錄人員信息效率較低工作量較大。與此相對應(yīng)的信息登記電子化則很好的解決此問題。故推出本人事管理系統(tǒng)令你擺脫往日與筆墨為伴的歲月。(2本系統(tǒng)能記錄常見的姓名,性別,編號,職務(wù),月薪等基本工資。對于錄入的人員的信息都能用文件保存起來,并且可以任意對其進行刪除,瀏覽,修改,增加等常見操作。(3顯示所有人員信息有一定規(guī)范的格式,以便老板以及其他員工的查看,分析等應(yīng)用。(4該管理系統(tǒng)是以大菜單下細(xì)分小菜單的方式進行工作,為不同用戶提供清晰且不同菜單功能的使用提示,依據(jù)不同用戶的不同選擇進行不同操作任意切換2總體設(shè)計2.1功能模塊圖該系統(tǒng)按功能模塊劃分如下:

老板公司人事管理系統(tǒng)普通員工顯示職員信息讀取職員信息保存職員信息分選擇模:司按照刪除職員信2.2功能描述的(1)編身號修改職修改職員信息修改姓修改工的入口,工員工的信按照查找員排序職員信息統(tǒng)計員工信息老板公司人事管理系統(tǒng)普通員工顯示職員信息讀取職員信息保存職員信息分選擇模:司按照刪除職員信2.2功能描述的(1)編身號修改職修改職員信息修改姓修改工的入口,工員工的信按照查找員排序職員信息統(tǒng)計員工信息完成用戶操作命令的接口,用戶可退出系統(tǒng)查找職員信息公司職員狀況統(tǒng)計員工信息以根據(jù)提示進入不同的身份的功能界面,進而實現(xiàn)不同用戶的不同需求(2)進入公司人員管理界面開始選擇功能,如果系統(tǒng)讀取到之前的保存的信息可以增刪查改等常見功能,如沒有則可初始化人員,然后進行相應(yīng)操作。(3)對人員信息的查詢可以運用獨一無二的編號快速查找職工。(4)在刪除商品信息模塊中僅允許老板身份人員對職員信息進行刪除操作(5)修改職員信息中老板可以根據(jù)需要對某些職員進行提拔,調(diào)整工資等功能。(6)在統(tǒng)計職員信息功能中,統(tǒng)計出當(dāng)前所有職員的一些信息。如男女職員的數(shù)目,某一職務(wù)的人數(shù),所有職員數(shù)目等等功能。(7)在普通職員身份僅僅能查看公司特定信息,任何具有修改信息的功能模塊,考慮到安全性均不能實現(xiàn)。2.3數(shù)據(jù)結(jié)構(gòu)在公司人事管理系統(tǒng)中主要的數(shù)據(jù)結(jié)構(gòu)是職員的信息,包含職員姓名,職員性別,職員編

號,職員工資,職員職務(wù),等在處理過程中可以作為一個員工的不同類別進行處理,其中員工類別包括文書類,技術(shù)人員類,技術(shù)經(jīng)理類,業(yè)務(wù)員類,業(yè)務(wù)員經(jīng)理類等等。用戶可以根據(jù)菜單提示對信息進行不同處理2.4系統(tǒng)流程圖老板功能流程圖厶否否是功&擇增加職工否刪除職工否查詢職工否結(jié)束員工功修改職工否芒流程圖退出老板身份否厶否否是功&擇增加職工否刪除職工否查詢職工否結(jié)束員工功修改職工否芒流程圖退出老板身份否■開始一功能選擇I工信息信息是否曰疋1—1曰K疋口執(zhí)行完畢否是I工信息信息是否曰疋1—1曰K疋口執(zhí)行完畢否是查詢員工信息退出員工身份3詳細(xì)設(shè)計3詳細(xì)設(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];〃職務(wù)charsex;//性另0floatsalary;//工資intflage;//標(biāo)記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: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;〃標(biāo)記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(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)技術(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[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)技術(shù)經(jīng)理(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();光標(biāo)位置函數(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;//標(biāo)記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);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;//標(biāo)記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;統(tǒng)計函數(shù)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其中男生人數(shù):〃〈〈SEX_M_num〈〈〃女生人數(shù):〃〈〈SEX_Wnum〈〈endl;cout〈〈"\t\t\t公司文書人數(shù)為:"〈〈employee_num〈〈endl;cout〈〈"\t\t\t銷售人員人數(shù)為:"〈〈salesman_num〈〈endl;cout〈〈"\t\t\t銷售經(jīng)理人數(shù)為:"〈〈SalesManager_num〈〈endl;cout〈〈"\t\t\t技術(shù)人員人數(shù)為:"〈〈Technical_num〈〈endl;cout〈〈"\t\t\t技術(shù)經(jīng)理人數(shù)為:"〈〈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員工信息暫時未統(tǒng)計"〈〈endl;}cout〈〈"\t\t\t是否離開本界面?y/n"〈〈endl;cin>>choice;if(choice=='y')break;}}修改函數(shù)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輸入調(diào)整人員編號:"〈〈endl;cin〉〉number;cout〈〈"\t\t\t輸入調(diào)整崗位(文書,技術(shù)工,業(yè)務(wù)員,業(yè)務(wù)經(jīng)理):"〈〈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輸入調(diào)整編號:"〈〈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無此人員,請核對后再調(diào)整信息!"〈〈endl;辻(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;}}辻(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;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;}}刪除函數(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(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");}査找函數(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職務(wù)\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");}讀取函數(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;}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();}創(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*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銷售經(jīng)理4技術(shù)人員5技術(shù)經(jīng)理"〈〈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,"銷售經(jīng)理");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請輸入代碼數(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;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是否繼續(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職務(wù)\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ù)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ǒng)計員工信息\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;}}}職員菜單函數(shù)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;}}登錄菜單函數(shù)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;}}菜單函數(shù)intMEU(){while(l){cout〈〈"\t\t\t請選擇當(dāng)前身份:"〈〈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。;}注冊函數(shù)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恭喜!賬號創(chuàng)建成功"〈〈endl;}outfile.close();outfilel.close();}登錄函數(shù)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();}修改密碼函數(shù)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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論