⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 salarymanage.cpp

📁 它是一个完整的工资管理系统
💻 CPP
字号:
#include <iomanip>
#include <vector>
#include "salary.h"
#include "salaryManager.h"
#include "employee.h"
#include "menu.h"

extern CEmployee *HeadEmployee;////员工信息链表表头指针
extern int iNumNode;///////////////记录节点的个数
extern CSalaryManager *mUser;



//===================================按名字查找基本信息====================================
void CSalaryManager::SchByName()//============================zbh
{                                 
	string sName = "";
	cout<<"\n\t\t\t请输入要查找员工的姓名: ";
    cin>> sName;

	CEmployee *curNode = HeadEmployee->next;
	cout<<"\n=============================你所查找的信息如下================================="<<endl;
	cout<<"\n姓名  性别 年龄 工龄  所属部门  职称  职称编号 身份证号码 手机号 工资  工资卡号"<<endl;

	while( curNode != NULL )
	{
		if( curNode->m_sName == sName )
		{
			cout<<left<<setw(6)<<curNode->m_sName
				<<left<<setw(5)<<curNode->m_cSex
				<<left<<setw(5)<<curNode->m_iAge
				<<left<<setw(6)<<curNode->m_iWorkAge
				<<left<<setw(10)<<curNode->m_sDepartment
				<<left<<setw(6)<<curNode->m_sTechPost
				<<left<<setw(9)<<curNode->m_sTechPostNum
				<<left<<setw(11)<<curNode->m_sIdentityId
				<<left<<setw(7)<<curNode->m_sMobilePhone
				<<left<<setw(6)<<curNode->m_cSalary.m_fSalary
				<<left<<setw(8)<<curNode->m_sSalaryCardId<<endl;
		}
		curNode = curNode->next;
	}
	curNode = HeadEmployee->next;
	cout<<"\n==============================================================================="<<endl;
}
//===============================按工资卡号查找基本信息====================================
void CSalaryManager::SchBySarCardId()//============================zbh
{                               
	string sSalCardId = "";
	cout<<"\n\t\t\t请输入要查找员工的工资卡号: ";
    cin>> sSalCardId;
	CEmployee *curNode = HeadEmployee->next;
	cout<<"\n=============================你所查找的信息如下================================="<<endl;
	cout<<"\n姓名  性别 年龄 工龄  所属部门  职称  职称编号 身份证号码 手机号 工资  工资卡号"<<endl;

	while( curNode != NULL )
	{
		if( curNode->m_sSalaryCardId == sSalCardId )
		{
			cout<<left<<setw(6)<<curNode->m_sName
				<<left<<setw(5)<<curNode->m_cSex
				<<left<<setw(5)<<curNode->m_iAge
				<<left<<setw(6)<<curNode->m_iWorkAge
				<<left<<setw(10)<<curNode->m_sDepartment
				<<left<<setw(6)<<curNode->m_sTechPost
				<<left<<setw(9)<<curNode->m_sTechPostNum
				<<left<<setw(11)<<curNode->m_sIdentityId
				<<left<<setw(7)<<curNode->m_sMobilePhone
				<<left<<setw(6)<<curNode->m_cSalary.m_fSalary
				<<left<<setw(8)<<curNode->m_sSalaryCardId<<endl;
			break;
		}
		curNode = curNode->next;
	}
//	cout<<iNumber<<endl;
	curNode = HeadEmployee->next;
	cout<<"\n==============================================================================="<<endl;
}
//==========================按身份证号查找基本信息======================================
void CSalaryManager::SchByIdentityId()//============================zbh
{
	string sIdentityId = "";
	cout<<"\n\t\t\t请输入要查找员工的身份证号: ";
    cin>> sIdentityId;

	CEmployee *curNode = HeadEmployee->next;
	cout<<"\n=============================你所查找的信息如下================================="<<endl;
	cout<<"\n姓名  性别 年龄 工龄  所属部门  职称  职称编号 身份证号码 手机号 工资  工资卡号"<<endl;

	while( curNode != NULL )
	{
		if( curNode->m_sIdentityId == sIdentityId )
		{
			cout<<left<<setw(6)<<curNode->m_sName
				<<left<<setw(5)<<curNode->m_cSex
				<<left<<setw(5)<<curNode->m_iAge
				<<left<<setw(6)<<curNode->m_iWorkAge
				<<left<<setw(10)<<curNode->m_sDepartment
				<<left<<setw(6)<<curNode->m_sTechPost
				<<left<<setw(9)<<curNode->m_sTechPostNum
				<<left<<setw(11)<<curNode->m_sIdentityId
				<<left<<setw(7)<<curNode->m_sMobilePhone
				<<left<<setw(6)<<curNode->m_cSalary.m_fSalary
				<<left<<setw(8)<<curNode->m_sSalaryCardId<<endl;
			break;
		}
		curNode = curNode->next;
	}
	if( curNode == NULL )
		cout<<"没有该员工的任何信息。"<<endl;
	curNode = HeadEmployee->next;
	cout<<"\n==============================================================================="<<endl;	
}
//====================================按部门查找基本信息=================================
void CSalaryManager::SchByDep()//============================zbh
{
	if( iNumNode == 0 )
	{
		cout<<"\n\t\t\t系统中没有任何信息。"<<endl;
		return;
	}
	string sDepartment = "";
	cout<<"\n\t\t\t请输入要查找的部门的名称: ";
    cin>> sDepartment;

	CEmployee *curNode = HeadEmployee->next;
	cout<<"\n=============================你所查找的信息如下================================="<<endl;
	cout<<"\n姓名  性别 年龄 工龄  所属部门  职称  职称编号 身份证号码 手机号 工资  工资卡号"<<endl;

	while( curNode != NULL )
	{
		if( curNode->m_sDepartment == sDepartment )
		{
			cout<<left<<setw(6)<<curNode->m_sName
				<<left<<setw(5)<<curNode->m_cSex
				<<left<<setw(5)<<curNode->m_iAge
				<<left<<setw(6)<<curNode->m_iWorkAge
				<<left<<setw(10)<<curNode->m_sDepartment
				<<left<<setw(6)<<curNode->m_sTechPost
				<<left<<setw(9)<<curNode->m_sTechPostNum
				<<left<<setw(11)<<curNode->m_sIdentityId
				<<left<<setw(7)<<curNode->m_sMobilePhone
				<<left<<setw(6)<<curNode->m_cSalary.m_fSalary
				<<left<<setw(8)<<curNode->m_sSalaryCardId<<endl;
		}
		curNode = curNode->next;
	}
	curNode = HeadEmployee->next;
	cout<<"\n==============================================================================="<<endl;
}
//==========================按技术职称查找基本信息==================================
void CSalaryManager::SchByTechPost()//============================zbh
{
	if( iNumNode == 0 )
	{
		cout<<"\n\t\t\t系统中没有任何信息。"<<endl;
		return;
	}
	string sTechPost = "";
	cout<<"\n\t\t\t请输入要查找的部门的名称: ";
    cin>> sTechPost;

	CEmployee *curNode = HeadEmployee->next;
	cout<<"\n=============================你所查找的信息如下================================="<<endl;
	cout<<"\n姓名  性别 年龄 工龄  所属部门  职称  职称编号 身份证号码 手机号 工资  工资卡号"<<endl;

	while( curNode != NULL )
	{
		if( curNode->m_sTechPost == sTechPost )
		{
			cout<<left<<setw(6)<<curNode->m_sName
				<<left<<setw(5)<<curNode->m_cSex
				<<left<<setw(5)<<curNode->m_iAge
				<<left<<setw(6)<<curNode->m_iWorkAge
				<<left<<setw(10)<<curNode->m_sDepartment
				<<left<<setw(6)<<curNode->m_sTechPost
				<<left<<setw(9)<<curNode->m_sTechPostNum
				<<left<<setw(11)<<curNode->m_sIdentityId
				<<left<<setw(7)<<curNode->m_sMobilePhone
				<<left<<setw(6)<<curNode->m_cSalary.m_fSalary
				<<left<<setw(8)<<curNode->m_sSalaryCardId<<endl;
		}
		curNode = curNode->next;
	}
	curNode = HeadEmployee->next;
	cout<<"\n==============================================================================="<<endl;
}
//===============================按姓名查找工资细节信息=====================================
void CSalaryManager::SchDetailByName()//============================zbh
{
	string sName = "";
	cout<<"\n\t\t\t请输入要查找员工的姓名: ";
    cin>> sName;

	CEmployee *curNode = HeadEmployee->next;
	cout<<"\n=============================你所查找的信息如下================================="<<endl;
	cout<<"\n姓名  部门  基本工资 职务工资 补助 扣工资 应发工资 税费 电费 水费 清洁费 电视费"<<endl;

	while( curNode != NULL )
	{
		if( curNode->m_sName == sName )
		{
			cout<<left<<setw(6)<<curNode->m_sName
				<<left<<setw(6)<<curNode->m_sDepartment
				<<left<<setw(9)<<curNode->m_cSalary.m_fBasePay
				<<left<<setw(9)<<curNode->m_cSalary.m_fDutyPay
				<<left<<setw(5)<<curNode->m_cSalary.m_fAssistance
				<<left<<setw(7)<<curNode->m_cSalary.DeductSalary()
				<<left<<setw(9)<<curNode->m_cSalary.m_fSalary
				<<left<<setw(5)<<curNode->m_cSalary.m_fTax
				<<left<<setw(5)<<curNode->m_cSalary.m_fElecCost
				<<left<<setw(5)<<curNode->m_cSalary.m_fWaterRate
				<<left<<setw(7)<<curNode->m_cSalary.m_iCleanCost
				<<left<<setw(6)<<curNode->m_cSalary.m_iTVCost<<endl;
		}
		curNode = curNode->next;
	}
	curNode = HeadEmployee->next;
	cout<<"\n==============================================================================="<<endl;
}
//======================按身份证号查找工资细节信息===============================
void CSalaryManager::SchDetailById()//============================zbh
{
	string sIdentityId = "";
	cout<<"\n\t\t\t请输入要查找员工的身份证号: ";
    cin>> sIdentityId;

	CEmployee *curNode = HeadEmployee->next;
	cout<<"\n=============================你所查找的信息如下================================="<<endl;
	cout<<"\n姓名  部门  基本工资 职务工资 补助 扣工资 应发工资 税费 电费 水费 清洁费 电视费"<<endl;

	while( curNode != NULL )
	{
		if( curNode->m_sIdentityId == sIdentityId )
		{
			cout<<left<<setw(6)<<curNode->m_sName
				<<left<<setw(6)<<curNode->m_sDepartment
				<<left<<setw(9)<<curNode->m_cSalary.m_fBasePay
				<<left<<setw(9)<<curNode->m_cSalary.m_fDutyPay
				<<left<<setw(5)<<curNode->m_cSalary.m_fAssistance
				<<left<<setw(7)<<curNode->m_cSalary.DeductSalary()
				<<left<<setw(9)<<curNode->m_cSalary.m_fSalary
				<<left<<setw(5)<<curNode->m_cSalary.m_fTax
				<<left<<setw(5)<<curNode->m_cSalary.m_fElecCost
				<<left<<setw(5)<<curNode->m_cSalary.m_fWaterRate
				<<left<<setw(7)<<curNode->m_cSalary.m_iCleanCost
				<<left<<setw(6)<<curNode->m_cSalary.m_iTVCost<<endl;
		}
		curNode = curNode->next;
	}
	curNode = HeadEmployee->next;
	curNode = HeadEmployee->next;
	cout<<"\n==============================================================================="<<endl;
}
//===============================按部门查找工资细节信息=================================
void CSalaryManager::SchDetailByDep()//============================zbh
{
	if( iNumNode == 0 )
	{
		cout<<"\n\t\t\t系统中没有任何信息。"<<endl;
		return;
	}
	string sDepartment = "";
	cout<<"\n\t\t\t请输入要查找员工的身份证号: ";
    cin>> sDepartment;

	CEmployee *curNode = HeadEmployee->next;
	cout<<"\n=============================你所查找的信息如下================================="<<endl;
	cout<<"\n姓名  部门  基本工资 职务工资 补助 扣工资 应发工资 税费 电费 水费 清洁费 电视费"<<endl;

	while( curNode != NULL )
	{
		if( curNode->m_sDepartment == sDepartment )
		{
			cout<<left<<setw(6)<<curNode->m_sName
				<<left<<setw(6)<<curNode->m_sDepartment
				<<left<<setw(9)<<curNode->m_cSalary.m_fBasePay
				<<left<<setw(9)<<curNode->m_cSalary.m_fDutyPay
				<<left<<setw(5)<<curNode->m_cSalary.m_fAssistance
				<<left<<setw(7)<<curNode->m_cSalary.DeductSalary()
				<<left<<setw(9)<<curNode->m_cSalary.m_fSalary
				<<left<<setw(5)<<curNode->m_cSalary.m_fTax
				<<left<<setw(5)<<curNode->m_cSalary.m_fElecCost
				<<left<<setw(5)<<curNode->m_cSalary.m_fWaterRate
				<<left<<setw(7)<<curNode->m_cSalary.m_iCleanCost
				<<left<<setw(6)<<curNode->m_cSalary.m_iTVCost<<endl;
		}
		curNode = curNode->next;
	}
	curNode = HeadEmployee->next;
	cout<<"\n==============================================================================="<<endl;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -