公司员工管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

公司员工管理系统

/////////////////////////////////////////////////////////

//公司员工管理系统--CEMS

#include //文件操作头文件

#include //包含system()等函数的头文件#include //字符串处理头文件

#include //输入输出流重载需要的头文件#include

//////////////////////////////////////////////////////////

// 工资明细结构体

typedef struct WAGE

{

float Base_Wage; // 基本工资

float Merit_Wage; // 绩效工资

float Sum_Wage; // 总工资

}WAGE;

// 包括职工姓名、职工号的工资记录

typedef struct Emplo_Wage

{

char id[10]; // 职工编号

char name[10]; // 职工姓名

WAGE data; // 工资

}Emplo_Wage;

typedef struct Node

{

char E_id[10]; //职工号

char E_name[10]; //姓名

char E_sex[3]; //性别

char E_dep[20]; //部门

char E_job[20]; //职务

float E_wage; //工资

struct Node *prior; //前驱指针

struct Node *next; //后继指针

}Node,*DLink;

////////////////////////////////////////////////////////// // 工资大于1000的员工,超过部门需要按税率交税float Tax_Rate1=0.05f; // 3000 以下

float Tax_Rate2=0.1f; // 3000-8000

float Tax_Rate3=0.15f; // 8000 以上

void SetWage(DLink p);

//////////////////////////////////////////////////////////

// 职工类

class employee

{

private:

Node data; // 结构体类型的数据成员

public:

friend ostream & operator<<(ostream & stream,const DLink p); //友元重载输出

流运算符

friend istream & operator>>(istream & stream,DLink p); //友元重载输入

流运算符

employee(); // 构造函数

DLink CreateLink(); // 创立链表

DLink InsertNode(DLink Head); // 插入一个结点

};

///////////////////////////////////////////////////////////

// 全局常量,一个结点的大小

const int NUM=sizeof(Node);

///////////////////////////////////////////////////////////

// 重载输出流运算符

ostream & operator<<(ostream & stream,const DLink p)

{

stream<

>E_id<

(10)<E_name<E_sex

<

>E_dep<

(15)<E_job<E_wage<

}

///////////////////////////////////////////////////////////

// 重载输入流运算符

istream & operator>>(istream & stream,DLink p)

{

cout<<"姓名:"; //输入姓名

stream>>p->E_name;

cout<<"性别:"; //输入性别

stream>>p->E_sex;

cout<<"部门:"; //输入所在部门

stream>>p->E_dep;

cout<<"职务:"; //输入职务

stream>>p->E_job;

SetWage(p); //输入工资

cout<

return stream;

}

////////////////////////////////////////////////////////// //构造函数

employee::employee()

{ }

////////////////////////////////////////////////////////// //创立链表(申请一个头结点)

DLink employee::CreateLink()

{

DLink Head;

Head=new Node; //申请一个空间

Head->prior=NULL;

Head->next=NULL;

return Head;

}

////////////////////////////////////////////////////////// //插入结点

DLink employee::InsertNode(DLink Head)

{

相关文档
最新文档