C++人员信息管理系统Word文档下载推荐.docx
- 文档编号:19948152
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:14
- 大小:18.72KB
C++人员信息管理系统Word文档下载推荐.docx
《C++人员信息管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++人员信息管理系统Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
{
Personlistlist;
{
if(list。
FindSameNum(num))
throw”有重复的编号!
catch(charstr[])
cout〈〈str〈〈endl;
list.CloseList();
return1;
}
2。
//人员信息定义:
classPerson
//编号、姓名、级别、月薪
public:
charNumber[20];
charName[20];
intStatus;
floatSalery;
intID;
public:
friendostream&
operator〈<
(ostream&os,Personpe);
};
classWorker:
publicPerson//定义普通员工派生类,
//由计算每月工资,设置工时,读出ID号码等功能
Worker();
voidPay3();
voidSethours();
voidget(charnum[],charname[]);
voidgetid(intid);
voidinsert();
private:
floatInCome;
intbasicweage;
floatRate;
intHours;
};
classSeller:
publicPerson//定义营销人员派生类
{
Seller();
voidget(charnum[],charname[]);
voidinsert();
voidPay2();
private:
intbasicweage;
floatRate;
intHours;
};
classManager:
publicPerson//定义部门经理派生类
Manager();
voidget(charnum[],charname[]);
voidPay1();
floatInCome;
classPersonlist//定义了一个全部人员链表类,并集合了各种操作
Persontest;
Persontest1;
std:
list<
Person〉personlist;
std:
Person〉:
iteratorPtr;
voidReadList();
//从文件中读出list成员到程序的list容器中
voidFind(charnum[]);
//查找员工数据
voidCountAll();
//计算每个等级员工的人数和总人数
voidPrintList();
//输出所有员工数据
voidCloseList();
//关闭LIST并写入记事本
voidClearList();
//清空数据表
voidDeletePerson(charnum[]);
//删除信息;
voidModify(charnum[]);
//修改成员数据
intGetId();
//获取ID
voidFileRead();
//将更新后的文本写入记事本
intFindSameNum(charnum[]);
//判断是否有重名现象
classdecorate//定义了所有控制台输出信息类,以及前端密码进入功能
decorate();
voidInfo_And_Chose();
//密码判断
voidAccess();
//密码进入
voidInfo_of_Operate();
charGetch();
//登录用户判断
voidInsert_of_Info();
charcode[10];
charMastercode[10];
charGuestcode[10];
charway;
charch;
};
classException//异常类
intCheckNnumber(charnum[]);
intCheckName(charn[]);
intCheckSameNum(charnum[]);
3.进入系统:
voiddecorate:
Info_And_Chose()
cout<
〈”**欢迎进入C++课程设计之企业人事管理系统**"
〈〈endl;
”**本小组成员有:
**"
while
(1)
cout〈<
”请选择进入方式:
(游客入口’G'
,管理员入口’M’)”〈〈endl;
cin〉>
way;
if(way=='
G’)
{
ch=’G'
Access();
break;
}
elseif(way==’M’)
ch='
M’;
}
else
cout〈〈”您未正确的进行输入!
〈endl;
4.人员信息的录入、修改和删除
#include”Main_Class_H.h"
voidPersonlist:
ReadList()//所有记录单元全部放在链表中,方便操作
ifstreamfilein;
filein。
open("
tom.txt”);
if(!
filein)
〈"
Cann’topenthefile!
〈<
return;
while(filein.read((char*)&
test,sizeof(test)))
personlist。
push_back(test);
filein.close();
voidPersonlist:
CountAll()
intcnt1=0,cnt2=0,cnt3=0,cnt4=0;
for(Ptr=personlist。
begin();
Ptr!
=personlist。
end();
Ptr++)
{
if(Ptr—〉Status==1)
cnt1++;
elseif(Ptr—〉Status==2)
cnt2++;
cnt3++;
cnt4++;
”*************************”;
〈”公司中经理成员的人数是:
cnt1<
〈”人***************************”<
〈endl;
*************************”;
〈”公司中营销成员的人数是:
”<
〈cnt2<
人***************************”〈<
”*************************”;
公司中普通工人的人数是:
〈〈cnt3<
”人***************************”<
cout〈〈"
*************************”;
cout〈<
公司中全部成员的人数是:
cnt4〈<
”人***************************"
Find(charnum[])
cout〈〈”********************************员工数据信息表**********”;
***********************”〈<
--————--————-—----—————-—-—-—--——-——-—---———-—-—--—---—-—--—-——---——-————-—-———"
”ID号码"
setw(15)<
〈”员工编号”〈<
setw(18)<
等级”;
setw(18)〈〈"
姓名”〈<
setw(12)<
工资"
cout〈〈”-————--——-—--——----—--—-—--——--————————————--—---—-—-——--—-—--——————--——-------”<
for(Ptr=personlist.begin();
Ptr!
end();
)
if(!
strcmp(Ptr—>
Number,num))
{
cout<
*Ptr;
Ptr++;
intPersonlist:
FindSameNum(charnum[])
ifstreamfilein;
filein.open("
tom。
txt”);
while(filein。
read((char*)&
filein.close();
begin();
if(!
cout〈〈*Ptr;
Ptr++;
return1;
PrintList()//输出所有员工数据
〈”********************************员工数据信息表**********”;
”***********************"
cout〈〈endl;
”---—--—-——-—-—---————-—-—-—----—--—-——--——--—————----—————-————-——--————-——--—-”〈〈endl;
〈”ID号码”〈〈setw(15)<
”员工编号"
〈〈setw(18)<
〈”等级"
setw(18)〈<
”姓名”<
setw(12)〈<
”—-—————--—-—---—-———-—————---—--————-——-—--——----————-—————------——————--—-———-"
=personlist.end();
*Ptr;
CloseList()
ofstreamfileout(”tom.txt"
);
if(!
fileout)
”〈<
return;
fileout.write((char*)&
(*Ptr),sizeof(*Ptr));
FileRead();
personlist.clear();
ClearList()
ReadList();
personlist.clear();
CloseList();
DeletePerson(charnum[])//删除信息
strcmp(Ptr-〉Number,num))
cout〈<
*Ptr;
personlist.erase(Ptr++);
〈”已经删除!
”〈〈endl;
intPersonlist:
GetId()
inti;
ReadList();
if(personlist。
size()==0)
for(Ptr=personlist。
)
i=++(Ptr++)->
ID;
personlist.clear();
returni;
Modify(charnum[])
chartname[20];
chartnum[20];
inttstatus;
intchoise;
ReadList();
=personlist.end();
strcmp(Ptr->
Number,num))
”1.修改名字;
cout〈〈”2.修改编号;
3.修改职位;
cin〉>
choise;
switch(choise)
{
case1:
cout〈<
输入新名字:
cin〉〉tname;
strcpy(Ptr—〉Name,tname);
cout〈〈"
修改成功!
break;
case2:
”输入新编号:
cin〉〉tnum;
strcpy(Ptr—〉Number,tnum);
cout<
”修改成功!
case3:
〈”输入新职位:
cin〉〉tstatus;
Ptr—>
Status=tstatus;
修改成功!
default:
请输入以上所对应的编号:
break;
}
if(Ptr==personlist.end())
无此编号!
FileRead()
ofstreamdataout;
dataout.open("
DataList.txt"
dataout)
”Cann'
topenthefile!
intlen1=0,len2=0;
charch;
{
len1=strlen(Ptr—>
Number);
len2=strlen(Ptr->
Name);
for(inti=0;
i<
len1;
i++)
dataout。
put(*(Ptr—〉Number+i));
for(i=0;
i〈8;
put(’’);
ch=(Ptr-〉Status+'
0’);
dataout。
put(ch);
dataout.put('
'
for(intj=0;
j〈len2;
j++)
dataout.put(*(Ptr—>
Name+j));
dataout.put('
\n'
dataout。
close();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 人员 信息管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)