C++人员信息管理系统Word下载.docx

上传人:b****8 文档编号:22429782 上传时间:2023-02-04 格式:DOCX 页数:17 大小:22.50KB
下载 相关 举报
C++人员信息管理系统Word下载.docx_第1页
第1页 / 共17页
C++人员信息管理系统Word下载.docx_第2页
第2页 / 共17页
C++人员信息管理系统Word下载.docx_第3页
第3页 / 共17页
C++人员信息管理系统Word下载.docx_第4页
第4页 / 共17页
C++人员信息管理系统Word下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C++人员信息管理系统Word下载.docx

《C++人员信息管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《C++人员信息管理系统Word下载.docx(17页珍藏版)》请在冰豆网上搜索。

C++人员信息管理系统Word下载.docx

ﻩlist.CloseList();

return 1;

ﻩ}

return0;

2.//人员信息定义:

classPerson

//编号、姓名、级别、月薪

public:

   charNumber[20];

ﻩcharName[20];

ﻩintStatus;

ﻩfloatSalery;

int ID;

public:

 friendostream& operator〈<

(ostream&

os,Personpe);

};

class Worker:

publicPerson//定义普通员工派生类,

public:

 //由计算每月工资,设置工时,读出ID号码等功能

ﻩWorker();

voidPay3();

ﻩvoid Sethours();

ﻩvoid get(charnum[],char name[]);

ﻩvoidgetid(int id);

voidinsert();

private:

float InCome;

ﻩint basicweage;

floatRate;

ﻩintHours;

classSeller:

public Person//定义营销人员派生类

public:

 //由计算每月工资,设置工时,读出ID号码等功能

Seller();

ﻩvoidget(charnum[],charname[] );

ﻩvoid getid(intid);

voidinsert();

voidPay2();

ﻩvoidSethours();

private:

ﻩintbasicweage;

float Rate;

intHours;

floatInCome;

class Manager:

publicPerson //定义部门经理派生类

public:

 //由计算每月工资,设置工时,读出ID号码等功能

Manager();

voidget(char num[],charname[]);

  voidgetid(int id);

voidinsert();

void Pay1();

private:

intbasicweage;

ﻩfloatInCome;

};

class Personlist    //定义了一个全部人员链表类,并集合了各种操作

ﻩPersontest;

Persontest1;

std:

list〈Person>

personlist;

ﻩstd:

list<

Person>:

iteratorPtr;

public:

voidReadList();

 //从文件中读出list成员到程序的list容器中

ﻩvoid Find(charnum[]);

 //查找员工数据

ﻩvoid CountAll();

 //计算每个等级员工的人数和总人数

voidPrintList();

 //输出所有员工数据

ﻩvoid CloseList();

 //关闭LIST并写入记事本

void ClearList();

//清空数据表

voidDeletePerson(charnum[]);

//删除信息;

ﻩvoidModify(char num[]);

//修改成员数据

intGetId();

 //获取ID

ﻩvoidFileRead();

//将更新后的文本写入记事本

ﻩintFindSameNum(charnum[]);

 //判断是否有重名现象

classdecorate //定义了所有控制台输出信息类,以及前端密码进入功能

public:

decorate();

ﻩvoidInfo_And_Chose();

//密码判断

ﻩvoidAccess();

//密码进入

ﻩvoidInfo_of_Operate();

 

ﻩchar Getch();

 //登录用户判断

ﻩvoidInsert_of_Info();

private:

ﻩcharcode[10];

ﻩcharMastercode[10];

ﻩcharGuestcode[10];

ﻩchar way;

ﻩcharch;

class Exception //异常类

public:

intCheckNnumber(char num[]);

ﻩintCheckName(charn[]);

ﻩintCheckSameNum(charnum[]);

3.进入系统:

voiddecorate:

Info_And_Chose()

cout〈〈"

**欢迎进入C++课程设计之企业人事管理系统**”〈〈endl;

cout<

〈"**本小组成员有:

**"<<

endl;

ﻩwhile(1)

ﻩcout〈<"

请选择进入方式:

(游客入口'

G’,管理员入口’M’)”〈<endl;

ﻩﻩcin>

>

way;

ﻩif(way==’G’)

ﻩﻩ{

ﻩﻩch='

G'

ﻩﻩAccess();

break;

ﻩﻩ}

ﻩelseif(way=='M’)

{

ﻩﻩﻩch=’M’;

ﻩAccess();

ﻩﻩbreak;

ﻩelse

ﻩﻩcout〈<

”您未正确的进行输入!

”<

endl;

4.人员信息的录入、修改和删除

#include ”Main_Class_H.h"

voidPersonlist:

ReadList() //所有记录单元全部放在链表中,方便操作ﻩ

ﻩifstream filein;

filein.open("

tom.txt”);

ﻩif (!

filein)

ﻩﻩcout<

”Cann'

topenthefile!

"〈〈endl;

ﻩ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++;

ﻩelse

ﻩcnt3++;

cnt4++;

cout〈〈"

*************************”;

ﻩcout〈<

公司中经理成员的人数是:

〈cnt1〈<

"人***************************”<〈endl;

cout〈<

*************************"

ﻩcout〈<

公司中营销成员的人数是:

<cnt2<

人***************************"

〈<

endl;

ﻩcout〈〈"*************************”;

cout<<”公司中普通工人的人数是:

cnt3<

〈"

人***************************"

ﻩcout〈〈”*************************"

cout〈〈”公司中全部成员的人数是:

"〈〈cnt4<

”人***************************”〈〈endl;

voidPersonlist:

Find(char num[])

cout<

********************************员工数据信息表**********"

ﻩcout<

"***********************"

<〈endl;

cout<

〈endl;

ﻩcout<

endl;

cout<

〈”——--———--—-——---——-----—-—--—--———---———-----—-----——-——---—---————-——-———-——-—"

〈<endl;

ﻩcout〈〈”ID号码"

〈〈setw(15)〈〈”员工编号”<

setw(18)〈〈”等级";

cout〈〈setw(18)〈<

"姓名"

setw(12)<

工资”〈〈endl;

cout<

〈”-—----—-—--——-———--—--———-————--——-----—-———-——-——--—--------———-—---—-————--—-"

<<endl;

for (Ptr=personlist。

begin();

Ptr!

=personlist。

end();

ﻩ{

ﻩif(!

strcmp(Ptr-〉Number,num))

ﻩ{

ﻩﻩcout〈〈*Ptr;

ﻩﻩﻩPtr++;

ﻩ}

ﻩﻩelse

ﻩPtr++;

int Personlist:

FindSameNum(char num[])

 ifstreamfilein;

filein。

open(”tom。

txt”);

ﻩwhile(filein.read((char*)&

test,sizeof(test)))

personlist.push_back(test);

close();

ﻩfor(Ptr=personlist.begin();

Ptr!

=personlist。

end();

{ 

if(!

strcmp(Ptr—>

Number,num))

ﻩﻩﻩcout〈<

*Ptr;

ﻩﻩﻩPtr++;

ﻩreturn 1;

}

ﻩ{

ﻩPtr++;

return0;

voidPersonlist:

PrintList()//输出所有员工数据

{  

cout<

<"

********************************员工数据信息表**********”;

cout<<

”***********************”〈<endl;

ﻩcout<〈endl;

ﻩcout<〈endl;

cout〈<

”—-———---——--————---—----—--————————---—-—------——-——-—-——-—--——-——-————————-——-"

<endl;

cout〈〈”ID号码”<〈setw(15)<

”员工编号”〈<

setw(18)<

等级”;

setw(18)〈<"

姓名”〈〈setw(12)<

〈”工资”<

cout〈〈"—-——-—------—-—-—---——----——---—-—--—-————--—--------—---——------————-—----———-”〈<

for(Ptr=personlist.begin();

Ptr!

=personlist。

end();

Ptr++)

ﻩcout〈〈*Ptr;

void Personlist:

CloseList()

{  

ﻩofstreamfileout("tom。

txt"

);

if (!

fileout)

ﻩcout<

〈"Cann'

topenthefile!

”<<

endl;

return;

for(Ptr=personlist。

begin();

Ptr!

=personlist.end();

Ptr++)

fileout.write((char*)&(*Ptr),sizeof(*Ptr));

ﻩFileRead();

ﻩpersonlist.clear();

voidPersonlist:

ClearList()

ReadList();

personlist.clear();

ﻩCloseList();

void Personlist:

DeletePerson(char num[])//删除信息

for(Ptr=personlist。

begin();

=personlist.end();

{

ﻩﻩif(!

strcmp(Ptr—>

Number,num))

ﻩﻩcout〈〈*Ptr;

ﻩpersonlist。

erase(Ptr++);

ﻩﻩﻩcout<

〈"已经删除!

ﻩelse

ﻩﻩPtr++;

intPersonlist:

GetId()

ﻩinti;

ﻩﻩReadList();

ﻩif(personlist.size()==0)

return1;

ﻩfor(Ptr=personlist。

Ptr!

=personlist.end();

)  

ﻩﻩi=++(Ptr++)—〉ID;

ﻩﻩpersonlist.clear();

returni;

voidPersonlist:

Modify(char num[])

chartname[20];

chartnum[20];

inttstatus;

int choise;

ReadList();

ﻩfor (Ptr=personlist.begin();

Ptr!

=personlist.end();

ﻩif(!

strcmp(Ptr—〉Number,num))

ﻩﻩ{

cout〈〈"1.修改名字;

”〈<endl;

ﻩﻩcout<

2.修改编号;

〈〈endl;

ﻩcout<

〈”3。

修改职位;

〈〈endl;

ﻩﻩcin〉>

choise;

ﻩswitch(choise)

ﻩﻩ{

ﻩﻩcase1:

ﻩﻩcout<<

”输入新名字:

ﻩﻩﻩcin〉>

tname;

strcpy(Ptr-〉Name,tname);

ﻩﻩﻩcout〈<

”修改成功!

〈<endl;

ﻩbreak;

ﻩcase2:

ﻩﻩcout<

”输入新编号:

〈endl;

ﻩcin>

tnum;

ﻩstrcpy(Ptr-〉Number,tnum);

ﻩﻩcout<

修改成功!

”<〈endl;

ﻩbreak;

ﻩcase3:

ﻩcout<

”输入新职位:

ﻩﻩcin〉>

tstatus;

ﻩPtr—〉Status=tstatus;

ﻩcout<

〈endl;

ﻩﻩbreak;

ﻩdefault:

ﻩﻩcout<<"

请输入以上所对应的编号:

”〈<

break;

ﻩﻩ}

ﻩbreak;

ﻩelse

Ptr++;

ﻩif(Ptr==personlist.end())

  cout〈<

无此编号!

〈〈endl;

CloseList();

void Personlist:

FileRead()

ofstream dataout;

dataout.open(”DataList.txt"

ﻩif(!

dataout)

ﻩﻩcout〈<

”Cann’t openthefile!

”〈〈endl;

ﻩreturn ;

 ﻩintlen1=0,len2=0;

ﻩcharch;

for(Ptr=personlist.begin();

Ptr!

=personlist。

end();

Ptr++)

len1=strlen(Ptr—>

Number);

ﻩlen2=strlen(Ptr—〉Name);

ﻩfor(inti=0;

i〈len1;

i++)

ﻩﻩdataout。

put(*(Ptr->

Number+i));

ﻩfor(i=0;

i<8;

i++)

ﻩﻩdataout。

put('

'

);

ch=(Ptr—>Status+’0'

ﻩﻩdataout.put(ch);

for(i=0;

i〈8;

i++)

ﻩdataout。

put(’'

ﻩﻩfor(intj=0;

j〈len2;

j++)

ﻩdataout。

put(*(Ptr—〉Name+j));

ﻩﻩdataout。

put('

\n'

dataout。

close();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1