(1)幾類人員Employee:經理Manager、技術人員Technician、銷售人員Salesman,還有銷售經理SalesManager。

(2)經理:固定月薪monthly_salary(8000元/月);技術人員:hourly_salary(100元/小時);推銷人員:提成Rate (4%);銷售經理:固定月薪5000元/月+5%提成。
(3)提供菜單,對所有人員選擇字段進行查找、刪除、排序等操作;
(4)用文件實現人員信息的讀寫。
平時作業隨便寫了一下,有些許小問題可能。之前剛開始學的時候感覺到處找資料很麻煩就,就想寫完了傳一下,大佬看到有問題或寫的不好的地方輕噴,球球啦。
#include#include#include#include#include
#include//男1女2
using namespace std;
void find();//查找
void dele();//刪除
void Sort();//排序,按工資順序
void set();//輸入數據
void menu();//菜單
class employee{//用于最后統計人員工資
public:
string name;
int age;
string gender;
int money;
void e_set(string n,int a,string g,int m){
name=n;age=a;gender=g;money=m;
}
};
class Manager{
public:
string name;
int age;
string gender;
int monthly_salary;
Manager(){}
Manager(string n,int a,string g,int m=8000)
{
name=n;age=a;gender=g;
monthly_salary=m;
}
void m_set(string n,int a,string g,int m=8000)
{
name=n;age=a;gender=g;monthly_salary=m;
}
~Manager(){}
};
class Technician{
public:
string name;
int age;
string gender;
int hourly_salary;
Technician(){}
Technician(string n,int a,string g,int h)
{
name=n;age=a;gender=g;hourly_salary=100*h;
}
void m_set(string n,int a,string g,int h)
{
name=n;age=a;gender=g;hourly_salary=100*h;
}
~Technician(){}
};
class Salesman{
public:
string name;
int age;
string gender;
int rate;
Salesman(){}
Salesman(string n,int a,string g,int r)
{
name=n;age=a;gender=g;rate=r*0.04;
}
void S_set(string n,int a,string g,int r)
{
name=n;age=a;gender=g;rate=r*0.04;
}
~Salesman(){}
};
class SalesManager{
public:
string name;
int age;
string gender;
double rate;
int monthly_salary=5000;
SalesManager(){}
SalesManager(string n,int a,string g,int r)
{
name=n;age=a;gender=g;rate=r*0.04+5000;
}
void Sm_set(string n,int a,string g,int r)
{
name=n;age=a;gender=g;rate=r*0.04+5000;
}
~SalesManager(){}
};
void set()
{
int k=0;
vectort1;
vectort2;
vectort3;
vectort4;
//因為各個人員之間的數據不一樣,所以分開存
while(1)
{
cout<<"請選擇要錄入的人員類型:1.經理 2.技術人員 3.銷售人員 4.銷售經理 5.退出"<>k;
if(k==1)
{
Manager m;
cout<<"請輸入姓名,年齡,性別"<>n>>a>>g;
m.m_set(n,a,g);
t1.push_back(m);
cout<<"錄入成功"<>n>>a>>g>>h;
t.m_set(n,a,g,h);
t2.push_back(t);
cout<<"錄入成功"<>n>>a>>g>>r;
S.S_set(n,a,g,r);
t3.push_back(S);
cout<<"錄入成功"<>n>>a>>g>>r;
S.Sm_set(n,a,g,r);
t4.push_back(S);
cout<<"錄入成功"<::iterator i=t1.begin();i!=t1.end();i++)
{
ofs<name<<' '<age<<' '<gender<<' '<monthly_salary<::iterator i=t2.begin();i!=t2.end();i++)
{
ofs<name<<' '<age<<' '<gender<<' '<hourly_salary<::iterator i=t3.begin();i!=t3.end();i++)
{
ofs<< i->name<< ' '<< i->age<< ' '<< i->gender<< ' '<< i->rate<::iterator i=t4.begin();i!=t4.end();i++)
{
ofs<< i->name<< ' '<< i->age<< ' '<< i->gender<< ' '<< i->rate<>n;
string t,g;
int a,m;
ifstream i;
i.open("data.txt",ios::in);
while(i>>t && i>>a&&i>>g&&i>>m)
{
if(t==n)
{
cout<<"查找完成:"<p;
f=1;
break;
}
}
if(f==0)
{
cout<<"未找到該人員信息"<>p;
}
i.close();
}
cout<ans;
string n,g;
int a,m;
while(fs>>n && fs>>a && fs>>g && fs>>m)
{
employee t;
t.e_set(n,a,g,m);
ans.push_back(t);
}
fs.close();
fs.open("data.txt",ios::out|ios::trunc);
sort(ans.begin(),ans.end(),cmp);
for(unsigned int i=0;i>N;
string n,g;
int a,m;
fstream fs;
vectorT;
fs.open("data.txt",ios::in);
while(fs>>n&&fs>>a&&fs>>g&&fs>>m)
{
employee t;
if(n!=N)
{
t.e_set(n,a,g,m);
T.push_back(t);
}
}
fs.close();
fs.open("data.txt",ios::out|ios::trunc);
for(unsigned int i=0;i>n&&fs>>a&&fs>>g&&fs>>m)
{
cout<k;
switch (k)
{
case 1:find();break;
case 2:dele();break;
case 3:Sort();break;
case 4:set();break;
case 5:print();break;
case 6:exit(0);
}
}
}
int main()
{
menu();
} 你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
當前題目:C++實現人員工資管理系統-創新互聯
瀏覽路徑:http://www.yijiale78.com/article32/dodhpc.html
成都網站建設公司_創新互聯,為您提供網站營銷、關鍵詞優化、品牌網站建設、品牌網站制作、網站設計、自適應網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯