职工管理系统源代码.docx
- 文档编号:24327360
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:15
- 大小:17.33KB
职工管理系统源代码.docx
《职工管理系统源代码.docx》由会员分享,可在线阅读,更多相关《职工管理系统源代码.docx(15页珍藏版)》请在冰豆网上搜索。
职工管理系统源代码
#include
#include
#include
usingnamespacestd;
constN=50;//定义系统可录入的员工最大数值
longEnum[N];
stringEname[N];
charEsex[N];
intEtime[N];
stringEtitle[N];
intEdegree[50];
floatEpay[N];
charEmarriage[N];
classEmployee{
public:
longEmployeenum;
stringEmployeename;
charEmployeesex;
intEmployeetime;
stringEmployeetitle;
intEmployeedegree;
floatEmployeepay;
charEmployeemarriage;
staticlongEmployeeMaxNum;
staticfloatEmployeeBasePay;
voidNewInfo();
voidShowInfo();
voidshowall();
voidshowtitle(stringtitle);
voidshowtimebehind(inttime);
voidshowtimebefore(inttime);
voidshowmarriage(charx);
voidshownum(longnumber);
voidRefreshInfo();
voidDeleteInfo();
staticintMaxNum();
};
classDBOperate{
public:
longEmployeenum;
stringEmployeename;
charEmployeesex;
intEmployeetime;
stringEmployeetitle;
intEmployeedegree;
floatEmployeepay;
charEmployeemarriage;
staticlongEmployeeMaxNum;
staticfloatEmployeeBasePay;
voidWriteIn(intiflag);
voidReadOut();
voidRefreshMaxNum(intiflag);//i=1or-1or0
};
longEmployee:
:
EmployeeMaxNum=1000;
floatEmployee:
:
EmployeeBasePay=1500;
intEmployee:
:
MaxNum(){//返回系统已经存储的人数
intMN=0;
ifstreammyf;
myf.open("EmployeeMaxNum.txt");
myf>>MN;
myf.close();
returnMN;
}
voidEmployee:
:
NewInfo(){//添加新成员函数
Employee:
:
Employeenum=EmployeeMaxNum+Employee:
:
MaxNum()+1;
cout<<"新员工姓名:
";
cin>>Employee:
:
Employeename;
cout<<"新员工性别(F为女性,M为男性):
";
cin>>Employee:
:
Employeesex;
cout<<"出生年月(如2010年3月:
201003):
";
cin>>Employee:
:
Employeetime;
cout<<"职工职称:
";
cin>>Employee:
:
Employeetitle;
cout<<"新员工学历,请输入相应学历的序号:
";
cout<<"[1:
初中2:
高中3:
本科4:
硕士5:
博士]";
cin>>Employee:
:
Employeedegree;
cout<<"职工工资:
";
cin>>Employee:
:
Employeepay;
cout<<"新员工婚姻状况(Y为已婚,N为未婚):
";
cin>>Employee:
:
Employeemarriage;
DBOperatedbo;
dbo.ReadOut();
intMaxNum=Employee:
:
MaxNum();
Enum[MaxNum]=Employee:
:
Employeenum;
Ename[MaxNum]=Employee:
:
Employeename;
Esex[MaxNum]=Employee:
:
Employeesex;
Etime[MaxNum]=Employee:
:
Employeetime;
Etitle[MaxNum]=Employee:
:
Employeetitle;
Edegree[MaxNum]=Employee:
:
Employeedegree;
Epay[MaxNum]=Employee:
:
Employeepay;
Emarriage[MaxNum]=Employee:
:
Employeemarriage;
dbo.WriteIn
(1);
cout<<"添加新成员成功!
"< return; } voidEmployee: : ShowInfo(){//程序主体数据输出函数 intchoice1,time; charx; stringtitle; Employeee; cout<<"请选择查询方式: "< cout<<"★★★★★★★★★★★★★★★★★★★★★★★★★★★★★"< cout<<"*输出全体职工信息列表---------------------------------1"< cout<<"*输出某职称的职工信息列表-----------------------------2"< cout<<"*输出某年月以后出生的职工信息列表---------------------3"< cout<<"*输出某年月以前出生的职工信息列表---------------------4"< cout<<"*输出某婚姻状况的职工信息刘表-------------------------5"< cout<<"★★★★★★★★★★★★★★★★★★★★★★★★★★★★★"< cin>>choice1; switch(choice1){ case1: showall();break; case2: cout<<"请输入要查询的职工职称: "; cin>>title; e.showtitle(title);break; case3: cout<<"请输入要查询的出生日期,查询该日期后出生的职工(如2010年3月: 201003): "; cin>>time; e.showtimebehind(time);break; case4: cout<<"请输入要查询的出生日期,查询该日期前出生的职工(如2010年3月: 201003): "; cin>>time; e.showtimebefore(time);break; case5: cout<<"输入要查询职工的婚姻状况(Y为已婚,N为未婚): "; cin>>x; e.showmarriage(x);break; default: cout<<"出错啦! "< } } voidEmployee: : showall(){//全体员工输出函数 inti; for(i=0;i : MaxNum();i++){ longnumber=Enum[i]; shownum(number); } } voidEmployee: : showtitle(stringtitle){//按职工职称输出函数 inti; for(i=0;i : MaxNum();i++){ if(Etitle[i]==title){ longnumber=Enum[i]; shownum(number); } elsecontinue; } } voidEmployee: : showtimebehind(inttime){//按员工年龄输出函数 inti; for(i=0;i : MaxNum();i++){ if(Etime[i]>=time){ longnumber=Enum[i]; shownum(number); } elsecontinue; } } voidEmployee: : showtimebefore(inttime){//按员工年龄输出函数 inti; for(i=0;i : MaxNum();i++){ if(Etime[i]<=time){ longnumber=Enum[i]; shownum(number); } elsecontinue; } } voidEmployee: : showmarriage(charx){//按员工婚姻情况输出函数 inti; for(i=0;i : MaxNum();i++){ if(Emarriage[i]==x){ longnumber=Enum[i]; shownum(number); } elsecontinue; } } voidEmployee: : shownum(longnumber){//按员工编号输出函数 inti; for(i=0;i : MaxNum();i++){ if(Enum[i]==number){ cout<<"∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞"< cout<<"员工编号>"< cout<<"姓名>"< cout<<"性别>"; if(Esex[i]=='F')cout<<"女"< elseif(Esex[i]=='M')cout<<"男"< cout<<"出生年月"< cout<<"职称>"< cout<<"学历>"; switch(Edegree[i]){ case1: cout<<"初中"< case2: cout<<"高中"< case3: cout<<"本科"< case4: cout<<"硕士"< case5: cout<<"博士"< } cout<<"额定工资>"< cout<<"婚姻情况>"; if(Emarriage[i]=='Y')cout<<"已婚"< elseif(Emarriage[i]=='N')cout<<"未婚"< cout<<"∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞"< } elsecontinue; } } voidEmployee: : RefreshInfo(){//修改员工信息的函数 intcNum=1000; DBOperatedbo; dbo.ReadOut(); voidEmployee: : shownum(longnumber); cout<<"请输入您要修改的员工编号: >"; cin>>cNum; intMN; MN=Employee: : MaxNum(); for(inti=0;i if(Enum[i]==cNum){ Employee: : shownum(cNum); cout<<"请输入该员工的新信息: "< cout<<"新员工姓名: ";//录入员工的新的数据,员工号保持不变 cin>>Employee: : Employeename; Ename[i]=Employee: : Employeename; cout<<"新员工性别: [F为女性,M为男性]: "; cin>>Employee: : Employeesex; Esex[i]=Employee: : Employeesex; cout<<"新员工出生年月: "; cin>>Employee: : Employeetime; Etime[i]=Employee: : Employeetime; cout<<"新员工的职称: "; cin>>Employee: : Employeetitle; Etitle[i]=Employee: : Employeetitle; cout<<"新员工学历,请输入相应学历的序号: "; cout<<"[1: 初中2: 高中3: 本科4: 硕士5: 博士]"; cin>>Employee: : Employeedegree; Edegree[i]=Employee: : Employeedegree; cout<<"职工工资: "; cin>>Employee: : Employeepay; Epay[i]=Employee: : Employeepay; cout<<"新员工婚姻状况(Y为已婚,N为未婚): "; cin>>Employee: : Employeemarriage; Emarriage[i]=Employee: : Employeemarriage; break; } } dbo.WriteIn(0); } voidEmployee: : DeleteInfo(){//删除员工数据的函数 chartmp; intcNum=1000; DBOperatedbo; dbo.ReadOut(); voidEmployee: : shownum(longnumber); cout<<"请输入您要删除的员工编号>: "; cin>>cNum; intMN; MN=Employee: : MaxNum(); for(inti=0;i if(Enum[i]==cNum) Employee: : shownum(cNum); } cout<<"确认要删除该员工信息? (Y为确认N为放弃): "; cin>>tmp; if(tmp=='Y'){ if(i==MN-1) dbo.WriteIn(-1); else{ for(intj=i;j dbo.WriteIn(-1); } cout<<"删除操作成功! "< } } voidDBOperate: : WriteIn(intiflag){//数据操作函数写入 DBOperate: : RefreshMaxNum(iflag); ofstreammyf("Employee.txt"); Employeee; intMN; MN=e.MaxNum(); for(inti=0;i myf< } myf.close(); return; } voidDBOperate: : ReadOut(){//数据操作函数读出 ifstreammyf("Employee.txt"); Employeee; intMN; MN=e.MaxNum(); for(inti=0;i myf>>DBOperate: : Employeenum>>DBOperate: : Employeename>>DBOperate: : Employeesex>>DBOperate: : Employeetime>>DBOperate: : Employeetitle>>DBOperate: : Employeedegree>>DBOperate: : Employeepay>>DBOperate: : Employeemarriage; Enum[i]=DBOperate: : Employeenum; Ename[i]=DBOperate: : Employeename; Esex[i]=DBOperate: : Employeesex; Etime[i]=DBOperate: : Employeetime; Etitle[i]=DBOperate: : Employeetitle; Edegree[i]=DBOperate: : Employeedegree; Epay[i]=DBOperate: : Employeepay; Emarriage[i]=DBOperate: : Employeemarriage; } myf.close(); } voidDBOperate: : RefreshMaxNum(intiflag){//更新系统中员工计数文件的函数 intMaxNum=0; ifstreammyif("EmployeeMaxNum.txt"); myif>>MaxNum; myif.close(); MaxNum=MaxNum+iflag; ofstreammyof("EmployeeMaxNum.txt"); myof< myof.close(); } intmain(){//主函数 intselect=0; while(select! =5){ cout<<"☆☆☆☆^-^天天好心情^-^☆☆☆☆"< cout<<"▽▽▽▽▽《主菜单》▽▽▽▽▽▽"< cout<<"⊙请选择功能⊙"< cout<<"⊙㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜⊙"< cout<<"⊙①.新建并输入职工数据⊙"< cout<<"⊙②.按条件输出职工数据⊙"< cout<<"⊙③.修改指定职工的数据⊙"< cout<<"⊙④.删除数据⊙"< cout<<"⊙⑤.退出⊙"< cout<<"△△△△△△△△△△△△△△△△"< cout<<"-------▉计科1301谭鑫▉------"< cout<<"请选择您要服务的类别: "; cin>>select; Employeee; DBOperatedbo; switch(select){ case1: e.NewInfo();break; case2: dbo.ReadOut(); e.ShowInfo();break; case3: e.RefreshInfo();break; case4: e.DeleteInfo();break; case5: break; default: cout<<"命令错误! "< } if(select==5) break; } exit (1); return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 职工 管理 系统 源代码