公司人事管理系统
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;
}
?
?
???
?
?
?
?
總結
- 上一篇: Android对接科大讯飞AIUI语音转
- 下一篇: 智慧工业:RFID智能资产管理,RFID