日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

公司人事管理系统

發布時間:2023/12/29 windows 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 公司人事管理系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.?要求利用C++語言面向對象的編程思想來完成系統的設計;?

2.?突出C++語言的類和對象的特征,以多個類實現對每一個子功能的封裝;

3.?進行簡單界面設計,能夠實現友好的交互;

4.?具有清晰的程序流程圖和類的詳細定義;

5.?熟練掌握C++語言對文件的各種操作。

創新要求:

在基本要求達到后,可進行創新設計,如系統用戶功能控制,對管理員級和一般級別的用戶系統功能操作不同?

課程設計具體實現步驟分析及源代碼:

目錄:????

一、選題的目的意義

二、使用技術

三、可行性的研究

四、需求分析

五、總體設計

六、詳細分析(代碼及調試)

1、把信息錄入

2、查找公司人員你(按照姓名)

3、(老板)修改公司的人員-提職/降職

4、添加公司新成員

5、消去公司辭職人員?

6、把員工信息從變量中取出

7、把員工的信息寫進文件?

8、把員工信息在屏幕上顯示

9、退出公司人事管理系統

?

?

一、選題的目的意義

??本題材適用于公司的人事部管理層次人員的使用,在工作時可以使用本系統輕松便捷地運行,順利運行和維護系統,輕輕松松有條理的管理公司所有人員的詳細信息

?

?

二、使用技術

??利用c++面向對象的思想來完成此次課程設計的設計理念,突出了c++語言實現了類和對象的特征,以類來封裝隱藏數據信息,使用c++同樣實現了界面的簡單設計,分別給老板和普通用戶設計不同界面

?

?

三、可行性的研究

1、經濟可行:本系統在開發時,使用的是免費工具Vistual?C++6.0?,它操作簡單,可操作性強,并且此系統便于廣大的公司人事部管理所用,由此可見它在經濟上是可行的

2、技術可行性:只需掌握了C/C++的基礎知識,要完成本系統并不是一件很難的事,可以隨意按照自己的意愿隨意設計更先進的理念,甚至可以設計美觀的用戶界面,由此可見,它在技術上也是簡單可行的

?

?

四、需求分析

?(1)在采集信息時,給每個公司人員設置一個編號,每添加一個員工信息系統自動給每個員工編一個編號,使用InputData()函數是實現

?(2)功能公司的老板有權提升某個員工的職位,也可以給某個員工降職,使用Modify()函數實現

?(3)系統要實現給每個員工的,根據不同的級別,給每個員工發放不同層次的薪水,使用DataSwage()函數實現

?(4)在系統中實現,顯示、查找、增加、刪除、修改和保存不同類型的員工信息,分別使用ShowData()函數、FindName()函數、AddStaff()函數、DeleteData()函數、Modify()函數、WriteFile()函數

?

?

?

五、總體設計

??此處省略...

?

?

?


?

六、詳細分析(代碼及調試)

1、主要界面顯示:

?

在此處,如果你是超級管理員(老板),你可以進入老板管理界面

現在你可以使用不同的功能,對員工進行管理。。。

若是進入普通用戶界面:


2、各部分函數

???(1)采集信息的InputData()函數


?(2)查詢(按照姓名)---FindName()


(3)修改---Modify()函數


?

下面是修改員工信息部分運行截圖:


(4)添加----AddStaff()函數


(5)刪除---DeleteData()函數


(6)顯示----ShowData()函數


(7)寫入文件---WriteFile()函數


3、代碼調試(主要錯誤):

???(1)在InputData()函數中,在開辟動態空間時,使用new?申請

???(2)在FindName()函數中,要使用goto函數控制函數的循環,還有在循環查找時,使用的while循環應該有不同的條件我開始使用的是while(p1->G_Number!=number?&&?p1->G_Number!=NULL),但實際上這句并不是出錯了,只是使用方法在下文與此句不符合,此錯誤在Modify()函數、DeleteData()函數、AddStaff()函數中都有體現

???(3)在文件部分,使用不同的打開方式,會有不同的結果,在此處是使用循環,要多次寫入,如果使用默認方式就會覆蓋上次寫入的文件信息,所以要以追加形式寫入文件,這樣就不會發生覆蓋的情況了

4、總結體會:

???通過此次的課程設計,我更熟知了,本學期學習的內容,我更深刻認識到了需求分析在整個過程的重要性,沒有做好需求分析就會遺漏或者容易出現錯誤,問題發現的越晚,所付出的代價就越大。同時,在開發此系統時,可能會遇到難以預料的問題,這時就需要上網查找相關的知識點,重新溫習、查缺補漏,也可以從書上重溫經典理論應用于實踐操作部分,還可以問同學,也許他們不會給你什么特別幫助,但是你可以從中得到啟示,這樣也會提升個人實際操作的能力,通過不斷地努力,不斷反思,你就會得到很不一般地體驗,得到提升,去尋找更多地解決方案。

???在開發系統完成后,已經能夠實現功能描述,也實現了創新,開發了使用密碼進入系統的超級管理員,一般的普通用戶,可以直接輸入No進入普通用戶界面,也可以通過三次輸入密碼錯誤,直接進入普通用戶界面,但是由于個人能力有限,系統做的不是完善,請老師原諒,我一定課下在做改進,爭取達到完美的階段。

5、程序源碼:

#include?<iostream>

#include?<string>

#include?<fstream>

using?namespace?std;

?

//姓名、編號、級別、當月薪水

?

//定義全局變量(Count計算建立節點數、No動態生成員工編號、

//????????????????????????????No_Number記錄當前節點創建的員工編號)

int?Count=0;

static?int?No=13156200,No_Number;

?

?

?

//********************************************************************

//********************************************************************

?

//定義一個類Person(作為基類)

class?Person

{

public:

Person()

{

}

//friend?class?PersonList;//友元類?此處使用類中友元函數也可以實現,但會泄露數據

//protected:

public:

string?P_Name;????//員工姓名

int????P_No;???????//員工編號

int????n;?????????//選擇員工薪水選項值

string?P_Lever;????//員工級別

double?P_Sage;?????//員工薪水

Person?*next;??????//指向連接員工信息的下一個指針

};

?

?

?

//********************************************************************

//********************************************************************

?

//定義一個類PersonList,繼承Person

class?PersonList:public?Person

{

public:

int?DataSwage(int?m);???//計算不同級別的員工薪水

void?OutChoice();????????//輸出選擇員工薪水列表

void?LookInputData();????//調用創建驗工信息的函數InputData()

string?FindName();?????//按照員工姓名查員工詳細信息

void?Modify();??????????//修改員工信息(如:老板員工提升/降職)

void?AddStaff();???????//添加員工信息(新增員工信息)

void?DeleteData();?????//刪除員工信息

void?ShowData();???????//展示員工信息(在屏幕上顯示)

int?ReadFile();???????//把員工信息讀取出來放到指定變量里

int?WriteFile();???????//把員工信息寫進文件并保存

private:

Person?InputData();??????????//內嵌員工的創建信息

Person?*head,*p1,*p2,*p;?????//創建員工信息所需的指針變量

?

};

?

?

//☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

//☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

?

//計算員工的不同級別的薪水

int?PersonList::DataSwage(int?m)

{

switch(m)??????????//switch語句選擇不同類型員工工資

{

case?1:

{

cout<<"\n\n\t技術經理?的工資。。。\n\n";

p1->P_Sage=5000;

return?p1->P_Sage;

};break;

case?2:

{

int?DAIMA;???????????//定義編寫的代碼多少行?

cout<<"\n\n\t技術人員?的工資。。。\n\n";

cout<<"請輸入該技術人員寫了多少行代碼:?";

cin>>DAIMA;

p1->P_Sage=1000*DAIMA;

return?p1->P_Sage;

};break;

case?3:

{

int?Sales,Object_Money;//銷售額(Sales)、項目額(Object_Money)

cout<<"\n\n\t業務人員?的工資。。。\n\n";

cout<<"請輸入當月業務員銷售額:";

cin>>Sales;

cout<<"請輸入業務員承接項目額:";

cin>>Object_Money;

p1->P_Sage=0.15*Sales+0.1*Object_Money;

return?p1->P_Sage;

?

};break;

case?4:

{

cout<<"\n\n\t業務經理?的工資。。。\n\n";

p1->P_Sage=2000+DataSwage(3);

return?p1->P_Sage;

};break;

case?5:

{

cout<<"\n\n\t財務人員?的工資。。。\n\n";

p1->P_Sage=2000;

return?p1->P_Sage;

};break;

case?6:

{

cout<<"\n\n\t文秘?的工資。。。\n\n";

p1->P_Sage=1500;

return?p1->P_Sage;

};break;

}

return?0;

}

?

//☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

//☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

?

//選擇員工不同級別薪水列表展示

void?PersonList::OutChoice()

{

cout<<"\n\n\t1、技術經理?的月薪\n\n";

cout<<"\t2、技術人員?的月薪\n\n";

cout<<"\t3、業務人員?的月薪\n\n";

cout<<"\t4、業務經理?的月薪\n\n";

cout<<"\t5、財務人員?的月薪\n\n";

cout<<"\t6、文秘?????的月薪\n\n";

}

?

void?PersonList::LookInputData()//調用創建員工信息的類外(Person_List)實現

{

InputData();

}

?

?

?

//卐卐卐卐卐卐卐卐卐卐卐卐※※※※※※※※※※※※※★★★★★★★★

//卐卐卐卐卐卐卐卐卐卐卐卐※※※※※※※※※※※※※★★★★★★★★

?

//創建員工信息列表(采集員工信息)

Person?PersonList::InputData()

{

system("cls");

p1=p2=new?Person;???//開辟員工信息內存大小

cout<<"\n\t請輸入第??"<<1<<"?個人員的信息...\n\n";

cout<<"員工姓名:?";

cin>>p1->P_Name;

cout<<"員工級別:?";

cin>>p1->P_Lever;

cout<<"請輸入不同的數字選擇薪水:\n";

????OutChoice();??????//調用展示列表

cout<<"請輸入?n?的值:";???

cin>>p1->n;????????????//選擇薪水

DataSwage(p1->n);???//調用薪水計算函數DataSwage()

system("cls");

cout<<"\n\t\t\t你是否要重復此項操作?\n";???????

????cout<<"\n若不繼續,請把貨物各項信息設為?0?\n\n";

system("pause");?????????//系統函數

head=NULL;??????//確保節點從?0?開始創建

p1->P_No=No;?????//員工編號的動態生成

while(p1->n!=0)??//根據員工的編號確定是否繼續進行采集信息

{

Count++;?????//記錄節點個數

if(Count==1)

head=p1;

else?

p2->next=p1;

p2=p1;

p1=new?Person;?????//再次開辟空間采集信息

cout<<"\n\t請輸入第??"<<Count+1<<"?個人員的信息...\n\n";

????????cout<<"員工姓名:?";

cin>>p1->P_Name;

cout<<"員工級別:?";

????cin>>p1->P_Lever;

cout<<"請輸入不同的數字選擇薪水:\n";

OutChoice();

cout<<"請輸入?n?的值:";

cin>>p1->n;

????DataSwage(p1->n);

WriteFile();

????system("pause");

No_Number=No;

No++;

p1->P_No=No;

system("cls");

if(p1->n!=0)

{

cout<<"\n\t\t\t你是否要重復此項操作?\n";???????

????cout<<"\n若不繼續,請把貨物各項信息設為?0?\n";

}

if(p1->n==0)

{

cout<<"\n\t你已經完成信息采集輸入操作!\n\n";

}

system("pause");

}

p1->next=NULL;

return?*head;

}

?

?

?

//★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

?

?

//查詢員工信息

string?PersonList::FindName()

{

char?ch;

string?Name;

system("cls");??????//系統清屏函數

do?

{

loop:??????????????????//goto函數的實現

????int?I=0;

cout<<"\n\t請輸入你要查找的姓名:";

cin>>Name;

//loop:

p1=head;

//while(p1->G_Number!=number?&&?p1->G_Number!=NULL)第一次犯的錯誤

while(p1!=NULL)

{

if(p1->P_Name==Name)??????//比較名字是否相同

{

cout<<endl;

cout<<"\t員工姓名:?"<<p1->P_Name<<endl<<endl;

????cout<<"\t員工編號:?"<<p1->P_No<<endl<<endl;

????cout<<"\t員工級別:?"<<p1->P_Lever<<endl<<endl;

????cout<<"\t員工月薪:?"<<p1->P_Sage<<endl<<endl;

cout<<"\n\n你好!系統已完成你發送的命令操作...\n\n";

system("pause");??????????????//系統函數

return?p1->P_Name;??????//返回名字,提供下個函數使用

break;????????????????//跳出while循環

}

I++;

p1=p1->next;

if(I==Count)?????//判斷是否能找到員工的信息

{

system("cls");

cout<<"\n\n抱歉,系統沒有你要查找的員工信息...\n\n";

//cout<<"\n\t\t你還有一次機會...\n\n";

//cout<<"\n\t請輸入你要查找的姓名:";

????????//cin>>Name;

?

goto?loop;?????????????????//循環控制條件

//return?Name;

}

}

cout<<"\n\t你已經成功執行該操作...\n\n";

????????cout<<"你是否繼續執行該操作?是(輸入Y/y),否(輸入N/n):";

cin>>ch;

}?while?(ch!='N'?&&?ch!='n');

???

return?p1->P_Name;

}

?

?

?

//★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

?

?

//修改員工信息函數

void?PersonList::Modify()

{

char?ch;

system("cls");

do?

{

FindName();?????????//調用查詢函數并返回一個再次可以使用的值

system("pause");

cout<<"\n\t\t請輸入你要修改的內容...\n";

cout<<"員工姓名:?";

cin>>p1->P_Name;

cout<<"員工級別:?";

cin>>p1->P_Lever;

cout<<"請輸入不同的數字選擇薪水:\n";

OutChoice();

cout<<"請輸入?n?的值:";

cin>>p1->n;

p1->P_Sage=DataSwage(p1->n);

cout<<endl;

system("pause");

cout<<"\n\t你已經成功執行該操作...\n\n";

????????cout<<"你是否繼續執行該操作?是(輸入Y/y),否(輸入N/n):";

cin>>ch;

}?while?(ch!='N'?&&?ch!='n');

}

?

?

?

//★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

?

//添加員工信息的函數

void?PersonList::AddStaff()

{

char?ch;

int?NUM;??????????//定義了一個查詢員工編號的數據

system("cls");?

loop:??????????????//同上

do?

{

?cout<<"\n\t\t請你輸入編號在?13156200---"<<No_Number<<"?之間的編號。。。\n\n";

?????cout<<"\n\t請輸入你要查找的編號:";

?cin>>NUM;

?if(NUM?<?13156200)

?{

?cout<<"\n\t你輸入的選擇不符合要求...\n\n";

?goto?loop;

?}

?while(1)

?{

????????????if(NUM?>?0?&&?NUM?<=?No_Number)//判斷輸入的NUM是否在已存在信息范圍里

?{

???????p=new?Person;??????//重新給要添加的信息開辟空間

????????????????cout<<"\n\t請輸入你要添加的職員詳細信息...\n\n";

????????????????cout<<"員工姓名:?";

???????????????cin>>p->P_Name;

?????????????cout<<"員工級別:?";

????????????cin>>p->P_Lever;

?????????????cout<<"請輸入不同的數字選擇薪水:\n";

?????????????OutChoice();

?????????????cout<<"請輸入?n?的值:";

cin>>p->n;

p->P_Sage=DataSwage(p->n);

???????????????p->P_No=No++;

WriteFile();

if(p1==NULL)

???????????cout<<"\n\t\t找不到員工信息列表\n\n";

????????????p1=head;

????????????????while(p1!=NULL)

{

????????????if(p1->P_No==NUM)

{

????????????p->next=p1->next;

????????????????p1->next=p;

?????????Count++;

?????????cout<<"\n\t恭喜你,你已成功添加信息成功!\n\n";

break;

}

????????????p1=p1->next;

}

break;

?}

else

{

??cout<<"\n\t\t你剛才輸入錯誤...\n\n";

//??cin>>NUM;

??goto?loop;

}

?}

?

cout<<"你是否繼續執行該操作?是(輸入Y/y),否(輸入N/n):";

cin>>ch;

}?while?(ch!='N'?&&?ch!='n');

}

?

?

//★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

?

//執行刪除辭職員工信息函數-------按照員工編號來查找

void?PersonList::DeleteData()

{

????char?ch;

int?NUM;

system("cls");

loop:

do?

{

cout<<"\n\t\t請你輸入編號在?0---"<<No_Number<<"?之間的編號。。。\n\n";

cout<<"\n\t請輸入你要查找的編號:";

cin>>NUM;

if(NUM?<?13156200?||?NUM?>?No_Number)

{

system("cls");

cout<<"\n\t你輸入的選擇不符合要求...\n\n";

goto?loop;

}

p1=head;

while(p1->P_No?!=?NUM??&&?p1->next?!=NULL)???//循環找是否能找到信息

{

p2=p1;

p1=p1->next;

}

if(p1->P_No==NUM)//刪除編號為p1->P_No的員工信息

{

if(head=p1)

head=head->next;

else

p2->next=p1->next;

Count--;

cout<<"\n\t你已經成功執行了操作...\n\n";?

}

cout<<"你是否繼續執行該操作?是(輸入Y/y),否(輸入N/n):";

cin>>ch;

}?while?(ch!='N'?&&?ch!='n');

}

?

?

//★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

?

//編寫文件寫入函數

int?PersonList::WriteFile()

{

system("cls");

Person?person;

ofstream?out;

out.open("Test.dat",ios::app);//文件以追加形式出現

if(out.fail())???//判斷文件是否打開成功!

{

cerr<<"\n\tTest.dat?Open?Failed!\n\n";//不成功輸出此句

return?1;

}

p=head;

for(int?i=0;i<Count;i++)//循環寫進文件

{

//p=new?Person;

out<<p->P_Lever<<endl;

out<<p->P_Name<<endl;

out<<p->P_No<<endl;

out<<p->P_Sage<<endl;

//out<<p<<endl;

p=p->next;

//????cout<<"123----------\n\n";

}

cout<<"\n\t你好!恭喜你已經完成執行操作...\n\n";

out.close();

system("pause");

return?0;

}

?

?

//★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

?

//把信息讀出來

int?PersonList::ReadFile()

{

system("cls");

ifstream?in("Test.dat",ios::app);//文件以追加的形式出現

if(in.fail())

{

cerr<<"\n\tTest.dat?Open?Failed!\n\n";

system("pause");

????????return?1;

}

p=head;

for(int?i=0;i<Count;i++)//循環讀出來并存到變量中

{

p=new?Person;

in>>p->P_Lever;

in>>p->P_Name;

in>>p->P_No;

in>>p->P_Sage;

//in>>p;

p=p->next;

cout<<"456------\n\n";

}

in.close();

system("pause");

return?0;

}

?

//★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

?

//在屏幕上顯示采集的信息

void?PersonList::ShowData()

{

system("cls");

cout<<"\n\t經上述操作后有??"<<Count<<"?個結點被創建...\n\n";

p1=head;

for(int?i=0;i<Count;i++)//循環執行

{

cout<<"\n\t這是第?"?<<i+1<<"?個人員的信息...\n\n";

cout<<"員工姓名:?"<<p1->P_Name<<endl<<endl;

cout<<"員工編號:?"<<p1->P_No<<endl<<endl;

cout<<"員工級別:?"<<p1->P_Lever<<endl<<endl;

cout<<"員工月薪:?"<<p1->P_Sage<<endl<<endl;

p1=p1->next;

}

system("pause");

}

?

?

//¤¤¤¤¤¤¤¤¤¤★★★★★★★★★★★★★★¤¤¤¤¤¤¤¤¤¤¤

?

//選擇菜單1,超級管理員使用(老板)

int?EnterFace()

{

system("cls");

int?c;

cout<<"\t★★★★★★★★¤¤¤¤¤¤¤¤¤¤¤¤★★★★★★★★★★\n\n";

cout<<"\t?????????????????歡迎使用公司人事管理系統?????????????????\n";

cout<<"\t??????????……………………………………………………??????????\n\n";

cout<<"\t◎→????????1---:把信息錄入????????????????????????????←◎"<<endl<<endl;

cout<<"\t◎→????????2---:查找公司人員(按照姓名)??????????????←◎"<<endl<<endl;

cout<<"\t◎→????????3---:(老板)修改公司的人員-提職/降職????????←◎"<<endl<<endl;

cout<<"\t◎→????????4---:添加公司新成員????????????????????????←◎"<<endl<<endl;

cout<<"\t◎→????????5---:消去公司辭職人員??????????????????????←◎"<<endl<<endl;

cout<<"\t◎→????????6---:把員工信息從變量中取出????????????????←◎"<<endl<<endl;

cout<<"\t◎→????????7---:把員工的信息寫進文件??????????????????←◎"<<endl<<endl;

cout<<"\t◎→????????8---:把員工信息在屏幕上顯示????????????????←◎?\n\n";

????cout<<"\t◎→????????9---:退出公司人事管理系統??????????????????←◎\n\n";

cout<<"\t█▉▊▋▌▍‥‥‥請輸入你要操作的選項:(1---9):";

cin>>c;

while(c<0?||?c>9)

{

cout<<"\n\t\t\t對不起你的操作有誤,請再次輸入:";?

????????cin>>c;

}

return?c;

}

?

//選擇菜單2,適用于普通用戶

int?EnterFace2()

{

system("cls");

int?c;

cout<<"\t◤◤◤◤◤◣◣◣??¤¤¤¤¤¤¤¤¤¤¤¤??◢◢◢◥◥◥◥◥\n\n";

cout<<"\t?????????????????歡迎使用公司人事管理系統?????????????????\n";

cout<<"\t??????????……………………………………………………??????????\n\n";

cout<<"\t⊙◇???????1---:把信息錄入?????????????????????????????⊙◇"<<endl<<endl;

cout<<"\t⊙◇????????2---:查找公司人員(按照姓名)??????????????⊙◇"<<endl<<endl;

cout<<"\t⊙◇????????3---:添加公司新成員????????????????????????⊙◇"<<endl<<endl;

cout<<"\t⊙◇????????4---:把員工信息從變量中取出????????????????⊙◇"<<endl<<endl;

cout<<"\t⊙◇????????5---:把員工的信息寫進文件??????????????????⊙◇"<<endl<<endl;

cout<<"\t⊙◇????????6---:把員工信息在屏幕上顯示????????????????⊙◇?\n\n";

????cout<<"\t⊙◇????????7---:退出公司人事管理系統??????????????????⊙◇\n\n";

cout<<"\t★★★☆☆☆‥‥‥請輸入你要操作的選項:(1---7):";

cin>>c;

while(c<0?||?c>7)

{

cout<<"\n\t\t\t對不起你的操作有誤,請再次輸入:";?

????????cin>>c;

}

return?c;

}

?

?

//¤¤¤¤¤¤¤¤¤¤★★★★★★★★★★★★★★¤¤¤¤¤¤¤¤¤¤¤

?

//控制?超級用戶?選擇調用函數的選擇函數

void?Case()

{

PersonList?t;

for(;;)

switch(EnterFace())

{

case?1:t.LookInputData();break;

case?2:t.FindName();break;

case?3:t.Modify();break;

case?4:t.AddStaff();break;

case?5:t.DeleteData();break;

case?6:t.ReadFile();break;

case?7:t.WriteFile();break;

case?8:t.ShowData();break;

case?9:exit(0);break;

}

}

?

?

//控制?普通用戶?選擇調用函數的選擇函數

void?Case2()

{

PersonList?t;

for(;;)

switch(EnterFace2())

{

case?1:t.LookInputData();break;

case?2:t.FindName();break;

case?3:t.AddStaff();break;

case?4:t.ReadFile();break;

case?5:t.WriteFile();break;

case?6:t.ShowData();break;

case?7:exit(0);break;

}

}

?

?

//◎◎◎◎◎◎◎◇◇◇◇◇◎◎◎◎◇◇◇◇◇◇◎◎◎◎◎◇◇◇◇◎◎◎◎

?

//在主函數中測試以上操作

int?main()

{

string?KeyWords="GLY",Key,ch;??//設置用戶密碼

int?N=0;

//以下是對輸入密碼的驗證與控制

cout<<"\n\t\t你是老板嗎?若是請你輸入管理員密碼\n\n";

cout<<"\n\n\t\t如果不是老板,請輸入No\n";

do?

{

cout<<"\n\t你是第??"<<N+1<<"??次輸入密碼:";

cin>>Key;

if(Key=="No")

{

cout<<"\n\n\t你將會進入普通用戶模式...\n\n";

system("pause");

Case2();

}

if(Key==KeyWords)

{

cout<<"\n\n\t哇哦!你真的是老板,歡迎進入公司人事管理系統...\n\n";

system("pause");

Case();

//break;

}

N++;

if(N==3)

{

cout<<"\n\n對不起,你已經輸入三次錯誤密碼,你不能進入管理員系統...\n\n";

cout<<"\t你將會進入普通用戶模式...\n\n";

system("pause");

Case2();

}

cout<<"\n\t你是否嘗試再次進入公司人事管理系統?\n\n";

cout<<"若是,請輸入?Yes/yes?,否則輸入?No/no?:";

cin>>ch;

}?while?(ch!="no"?&&?ch!="No");

return?0;

}

?

?

???

?

?

?

?


總結

以上是生活随笔為你收集整理的公司人事管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。