資源簡介
雖然網上有很多類似的企業管理系統,但我的這個程序實在是精彩絕倫,代碼簡短(200多行),全部注釋,超易理解,只用到兩個類就實現了余別人的代碼同樣的功能,且界面美觀友好,很適合新手
以下是具體功能:
1、人員編號在生成人員信息時同時生成,每個人員編號自動加1。
2、程序對所有人員有提升級別的功能。
3、日薪的計算方法:經理拿固定月薪,兼職技術人員按工作小時數領取月薪,兼職推銷員的報酬按該推銷員當月銷售提成。
4、銷售經理既拿月薪也領取銷售提成。
5、能按姓名或者編號尋找、刪除、更新顯示各類人員的信息。
代碼片段和文件信息
#include??
#include??
#include??
#include?
using?namespace?std;
const?int?Maxr=100;
int?ID=10000;
class?Employee?//職工類?
{?
int?tag;//刪除標記?
int?no;//職工編號?
char?name[20];//職工姓名?
char?zw[20];?//職工職務
int?salary;//職工工資?
int?time;//工作小時
public:?
Employee(){}?
char?*getname()?{return?name;}//獲取名字?
int?gettag()?{return?tag;}//獲取標記?
int?getno()?{return?no;}//獲取編號?
int?getsalary(){return?salary;}//獲取薪水
int?gettime(){return?time;}//獲取工作時間
void?setzw(char?q[])//設置職務?
{?
strcpy(zwq);?
}?
void?setname(char?na[])//設置名字?
{?
strcpy(namena);?
}?
void?getsalary(int?sa){salary=sa;}?
void?delna(){tag=1;}//刪除?
void?addemp(int?nint?sachar?*nachar?*q)//增加?
{?
tag=0;?
no=n;?
salary=sa;?
strcpy(namena);
strcpy(zwq);
}?
void?disp()//顯示職工信息?
{?
cout<<“│“< cout<<“├—————┼—————┼—————┼—————┤“< }?
};?
class?Database//職工數據類?
{?
int?top;?
Employee?read[Maxr];?
public:?
Database()//將職工信息從employee.txt讀取到read[]中?
{?
Employee?s;
top=-1;
fstream?file(“employee.txt“ios::in);
while?(1)?
{?
file.read((char?*)&ssizeof(s));?
if?(!file)?break;?
top++;?
read[top]=s;
}
file.close();
}?
void?clear()//刪除所有?
{?
top=-1;?
}?
int?addemp?(int?n?int?sachar?*nachar*q)?//增加職工?
{?
Employee?*p=query(n);
if?(p==NULL)
{?
top++;
read[top].addemp(nsanaq);
return?1;
}
return?0;?
}?
Employee?*query(int?empid)?
{?
for?(int?i=0;i<=top;i++)?
if?(read[i].getno()==empid?&&?read[i].gettag()==0)?
return?&read[i];?
return?NULL;?
}?
/* Employee?*query1(char?empna[20])?
{?
for?(int?i=0;i<=top;i++)
if?((read[i].getname()==empna)?&&?read[i].gettag()==0)?
return?&read[i];
return?NULL;?
}*/?
void?disp()?//職工信息顯示?
{?
for?(int?i=0;i<=top;i++)
read[i].disp();?
}?
void?empdata();?
~Database()?//將read[]中的信息讀如到employee.txt中?
{?
fstream?file(“employee.txt“ios::out);?
for?(int?i=0;i<=top;i++)?
if?(read[i].gettag()==0)?
file.write((char?*)&read[i]sizeof(read[i]));?
file.close();?
}?
};?
void?Database::empdata()//職工維護?
{?
int?choice=1;?
int?m=1;int?b=1;?
char?rname[20];?
int?empid;?int?empsa;char?q[20];int?time;?
Employee?*r;?
while?(choice!=0)?
{?
cout<<“職工維護?1:新增?2:更改?3:刪除?4:查找?5:顯示?6:全刪?0:退出=>“;?
cin>>choice;?
switch?(choice)?
{?
case?1:?
cout< cout< cout< cout< cout< cout< cout< cin>>m;?
while(m!=0)
{?
switch(m)?
{?
case?1:?
empid=ID++;
????????????????????empsa=8000;
cout<<“輸入經理姓名:“;?
cin>>rnam
- 上一篇:一個C語言編譯器源碼
- 下一篇:外掛 源碼 c++ vc 冒險島
評論
共有 條評論