亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? employsys.cpp

?? 對單位的職工進行管理
?? CPP
字號:
// EmploySys.cpp: implementation of the CEmploySys class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Employ.h"
#include "EmploySys.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
IMPLEMENT_SERIAL(CEmploySys,CObject,1)
CEmploySys::CEmploySys()
{
	m_lMaxNum=0;
}

CEmploySys::~CEmploySys()
{
	POSITION pos=m_EmpList.GetHeadPosition();
	while(pos)
	{
		CEmploy * tp=m_EmpList.GetAt(pos);
		delete tp;
		m_EmpList.GetNext(pos);
	}
	m_EmpList.RemoveAll();
}

void CEmploySys::Serialize( CArchive& archive )
{
    // call base class function first
    // base class is CObject in this case
    CObject::Serialize( archive );
	// now do the stuff for our specific class
	if( archive.IsStoring() )
	{
		archive	<<	m_lMaxNum;
	}
    else
	{
		archive	>>	m_lMaxNum;
	}
	m_EmpList.Serialize(archive);
}


void CEmploySys::AddEmploy(const CEmploy &tp)
{
	CEmploy * temp=new CEmploy(tp);
	temp->m_lNum=m_lMaxNum;
	m_lMaxNum++;
	try
	{
		if(m_lMaxNum==LONG_MAX)
			throw(m_lMaxNum);
		else
			m_EmpList.AddTail(temp);
	}
	catch(long)
	{
		ProcExcept();
	}
}

void CEmploySys::ProcExcept()
{
	m_lMaxNum=m_EmpList.GetCount();
	POSITION pos=m_EmpList.GetHeadPosition();
	for(long i=0;i<m_lMaxNum;i++)
	{
		CEmploy * tp=m_EmpList.GetAt(pos);
		tp->m_lNum=i;
		m_EmpList.GetNext(pos);
	}
}

void CEmploySys::Del(long m)//m代表m_lMaxNum的值
{
	POSITION pos=m_EmpList.GetHeadPosition();
	long lNumber=m_EmpList.GetCount();
	CEmploy * Aim=NULL;
	POSITION Aimpos=NULL;
	for(long i=0;i<lNumber;i++)
	{
		CEmploy * tp=m_EmpList.GetAt(pos);
		if(tp->m_lNum==m) {Aim=tp;Aimpos=pos;}
		m_EmpList.GetNext(pos);
	}
	try
	{
		if(Aim==NULL)
			throw(Aim);
		else
		{
			delete Aim;
			m_EmpList.RemoveAt(Aimpos);
		}
	}
	catch(CEmploy *)
	{
		int i=MessageBox(NULL,"刪除時,內部錯誤\n(由于未找到記錄)!!","致命錯誤!",MB_OK);
		CWnd * pWnd=AfxGetMainWnd( );
		pWnd->SendMessage(WM_DESTROY);
	}
}

BOOL CEmploySys::Search(const CEmploy &m, long &pos)
//在m_EmpList中精確查找
{
	POSITION ps=m_EmpList.GetHeadPosition();
	while(ps!=NULL)
	{
		CEmploy * tp=m_EmpList.GetAt(ps);
		if(*tp==m) 
		{
			pos=tp->m_lNum;
			return TRUE;
		}
		m_EmpList.GetNext(ps);
	}
	return FALSE;
}

BOOL CEmploySys::DelEmploy(const CEmploy &m)
{
	long tip=-1;
	if(Search(m,tip))
	{
		Del(tip);
		return TRUE;
	}
	else return FALSE;
}

void CEmploySys::SearchEmploy(const CEmploy & m,CList<CEmploy,CEmploy &> & ResultList)
{
	ResultList.RemoveAll();
	CList<CEmploy,CEmploy &> m_tpList1;
	POSITION pos1=m_EmpList.GetHeadPosition();
	while(pos1)
	{
		CEmploy * tp=m_EmpList.GetAt(pos1);
		if(tp->m_iSex==m.m_iSex||m.m_iSex==2)
		{
			m_tpList1.AddHead(*tp);
		}
		m_EmpList.GetNext(pos1);
	}
	CList<CEmploy,CEmploy &> m_tpList2;
	POSITION pos2=m_tpList1.GetHeadPosition();
	while(pos2)
	{
		CEmploy tp=m_tpList1.GetAt(pos2);
		if(tp.m_sAddress==m.m_sAddress||m.m_sAddress.IsEmpty())
			m_tpList2.AddHead(tp);
		m_tpList1.GetNext(pos2);
	}
	m_tpList1.RemoveAll();
	pos1=m_tpList2.GetHeadPosition();
	while(pos1)
	{
		CEmploy tp=m_tpList2.GetAt(pos1);
		if(tp.m_sDuty==m.m_sDuty||m.m_sDuty.IsEmpty())
			m_tpList1.AddHead(tp);
		m_tpList2.GetNext(pos1);
	}
	m_tpList2.RemoveAll();
	pos2=m_tpList1.GetHeadPosition();
	while(pos2)
	{
		CEmploy tp=m_tpList1.GetAt(pos2);
		if(tp.m_sEducate==m.m_sEducate||m.m_sEducate.IsEmpty())
			m_tpList2.AddHead(tp);
		m_tpList1.GetNext(pos2);
	}
	m_tpList1.RemoveAll();
	pos2=m_tpList2.GetHeadPosition();
	while(pos2)
	{
		CEmploy tp=m_tpList2.GetAt(pos2);
		if(tp.m_sMemo==m.m_sMemo||m.m_sMemo.IsEmpty())
			m_tpList1.AddHead(tp);
		m_tpList2.GetNext(pos2);
	}
	m_tpList2.RemoveAll();
	pos1=m_tpList1.GetHeadPosition();
	while(pos1)
	{
		CEmploy tp=m_tpList1.GetAt(pos1);
		if(tp.m_sPhone==m.m_sPhone||m.m_sPhone.IsEmpty())
			m_tpList2.AddHead(tp);
		m_tpList1.GetNext(pos1);
	}
	m_tpList1.RemoveAll();
	pos2=m_tpList2.GetHeadPosition();
	while(pos2)
	{
		CEmploy tp=m_tpList2.GetAt(pos2);
		if(tp.m_sName==m.m_sName||m.m_sName.IsEmpty())
			m_tpList1.AddHead(tp);
		m_tpList2.GetNext(pos2);
	}
	{
		pos1=m_tpList1.GetHeadPosition();
		while(pos1)
		{
			ResultList.AddHead(m_tpList1.GetAt(pos1));
			m_tpList1.GetNext(pos1);
		}
	}
}


void CEmploySys::SortEmploy(CEmploy ** & tp,int inwhich)
//inwhich代表按哪個進行排序
{
	long num=m_EmpList.GetCount();
	CEmploy ** ptToList=new CEmploy *[num];
	POSITION pos=m_EmpList.GetHeadPosition();
	for(long i=0;i<num;i++)
	{
		ptToList[i]=m_EmpList.GetAt(pos);
		m_EmpList.GetNext(pos);
	}
	int (*compare)(const void *elem1, const void *elem2 );
	switch(inwhich)
	{
	case 0:
		compare=CompareAddress;
		break;
	case 1:
		compare=CompareDuty;
		break;
	case 2:
		compare=CompareEducate;
		break;
	case 3:
		compare=CompareMemo;
		break;
	case 4:
		compare=CompareName;
		break;
	case 5:
		compare=ComparePhone;
		break;
	default:
		{
			try
			{
				throw(inwhich);
			}
			catch(int)
			{
				CWnd * pWnd=AfxGetMainWnd();
				pWnd->MessageBox("排序錯誤。\n發生在選定項錯誤!","致命錯誤!");
				pWnd->SendMessage(WM_DESTROY,0,0);
			}
		}
	}
	qsort(ptToList,(unsigned int)num,sizeof(CEmploy *),compare);
	tp=ptToList;
}

int CEmploySys::CompareAddress(const void *elem1, const void *elem2)
{
	return lstrcmp((*(CEmploy **)elem1)->m_sAddress,(*(CEmploy **)elem2)->m_sAddress);
}

int CEmploySys::CompareDuty(const void *elem1, const void *elem2)
{
	return lstrcmp((*(CEmploy **)elem1)->m_sDuty,(*(CEmploy **)elem2)->m_sDuty);
}

int CEmploySys::CompareEducate(const void *elem1, const void *elem2)
{
	return lstrcmp((*(CEmploy **)elem1)->m_sEducate,(*(CEmploy **)elem2)->m_sEducate);
}


int CEmploySys::CompareMemo(const void *elem1, const void *elem2)
{
	return lstrcmp((*(CEmploy **)elem1)->m_sMemo,(*(CEmploy **)elem2)->m_sMemo);
}

int CEmploySys::CompareName(const void *elem1, const void *elem2)
{
	return lstrcmp((*(CEmploy **)elem1)->m_sName,(*(CEmploy **)elem2)->m_sName);
}



int CEmploySys::ComparePhone(const void *elem1, const void *elem2)
{
	return lstrcmp((*(CEmploy **)elem1)->m_sPhone,(*(CEmploy **)elem2)->m_sPhone);
}

int CEmploySys::GetCount()
{
	return m_EmpList.GetCount();
}	

BOOL CEmploySys::GetEmploy(CEmploy & result,int pos)
{
	if(pos<0||pos>=GetCount()) return FALSE;
	POSITION ppos=m_EmpList.GetHeadPosition();
	for(int i=0;i<pos;i++)
	{
		m_EmpList.GetNext(ppos);
	}
	result=*m_EmpList.GetAt(ppos);
	return TRUE;
}

void CEmploySys::DeleteAll()
{
	POSITION pos=m_EmpList.GetHeadPosition();
	while(pos)
	{
		CEmploy * tp=m_EmpList.GetAt(pos);
		delete tp;
		m_EmpList.GetNext(pos);
	}
	m_EmpList.RemoveAll();
	m_lMaxNum=0L;
}

CEmploy & CEmploySys::Get(const CEmploy &m)
{
	long pos=-1L;
	Search(m,pos);
	POSITION ppos=m_EmpList.GetHeadPosition();
	while(ppos)
	{
		CEmploy * tp=m_EmpList.GetAt(ppos);
		if(tp->m_lNum==pos)
			break;
		m_EmpList.GetNext(ppos);
	}
	CEmploy * temp=m_EmpList.GetAt(ppos);
	return *temp;
}

void CEmploySys::DelPrtList()
{
	m_EmpList.RemoveAll();
}

void CEmploySys::InPutPtr(CEmploy **&tp)
{
	int Num=m_EmpList.GetCount();
	DelPrtList();
	for(int i=0;i<Num;i++)
		m_EmpList.AddHead(tp[i]);
	delete []tp;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91精品在线观看| 亚洲高清中文字幕| 日韩高清国产一区在线| 色系网站成人免费| 国产精品对白交换视频| 国产剧情av麻豆香蕉精品| 日韩欧美二区三区| 另类小说图片综合网| 91精品国产丝袜白色高跟鞋| 亚洲一区二区三区免费视频| 91丨九色丨蝌蚪丨老版| 国产精品久久久久久久岛一牛影视 | 国产亚洲欧美日韩日本| 久久精品国产99久久6| 欧美一级片在线看| 免费成人在线影院| 制服丝袜亚洲色图| 男女性色大片免费观看一区二区 | 日本不卡视频在线| 在线电影一区二区三区| 日av在线不卡| 精品国产乱码久久| 国产精品一区二区你懂的| 国产婷婷色一区二区三区四区| 国产乱人伦偷精品视频免下载| 精品乱码亚洲一区二区不卡| 狠狠色综合日日| 国产欧美视频一区二区三区| 99久久精品国产导航| 一区二区久久久久久| 欧美日韩一区二区在线观看视频 | 不卡的av中国片| 亚洲精品高清在线| 欧美美女bb生活片| 久久99这里只有精品| 欧美激情一区二区三区| 色偷偷88欧美精品久久久 | 懂色av中文字幕一区二区三区| 国产精品国产三级国产三级人妇| 91丝袜高跟美女视频| 亚洲国产精品欧美一二99| 欧美一区二区网站| 国产精品系列在线播放| 亚洲视频 欧洲视频| 69堂国产成人免费视频| 国产精品69毛片高清亚洲| 亚洲精品视频一区二区| 日韩一本二本av| av在线综合网| 免费成人结看片| 国产精品毛片久久久久久| 91成人在线精品| 久久99国产精品成人| 中文字幕亚洲一区二区av在线 | 强制捆绑调教一区二区| 中文文精品字幕一区二区| 在线视频欧美区| 国产一区二区三区在线观看精品| 亚洲免费av在线| 久久婷婷成人综合色| 欧洲av在线精品| 粉嫩蜜臀av国产精品网站| 性久久久久久久| 中文字幕亚洲综合久久菠萝蜜| 日韩欧美中文一区| 色婷婷综合五月| 国产精品1区二区.| 青青草国产精品97视觉盛宴| 亚洲三级电影全部在线观看高清| 欧美一区二区三区公司| 色综合一区二区三区| 国产一区二区三区免费看| 亚洲电影在线播放| 国产精品欧美精品| www国产精品av| 欧美二区三区的天堂| 91福利小视频| 91蝌蚪porny成人天涯| 国产成人亚洲综合色影视| 奇米精品一区二区三区在线观看一| 亚洲天堂中文字幕| 国产欧美日韩在线| 精品乱人伦一区二区三区| 欧美日本在线播放| 在线欧美日韩国产| av综合在线播放| 成人一二三区视频| 狠狠色丁香久久婷婷综合_中 | 精品婷婷伊人一区三区三| 成人激情开心网| 精品亚洲国产成人av制服丝袜 | 亚洲精品一二三| 日韩理论片网站| 国产精品久线观看视频| 久久蜜桃av一区精品变态类天堂 | 9人人澡人人爽人人精品| 国产精品一区二区你懂的| 韩国精品久久久| 久久国产精品露脸对白| 蜜桃视频在线观看一区二区| 亚洲国产cao| 亚洲高清在线精品| 亚洲不卡一区二区三区| 亚洲一区二区视频在线观看| 亚洲一区在线视频| 一区二区久久久久| 一区二区三区丝袜| 亚洲国产综合人成综合网站| 亚洲在线视频一区| 亚洲一区影音先锋| 午夜伊人狠狠久久| 日韩av在线播放中文字幕| 日韩精品亚洲一区二区三区免费| 偷拍亚洲欧洲综合| 美腿丝袜在线亚洲一区| 久久电影网站中文字幕| 国产一区二区三区黄视频| 国产精品99久久久久久似苏梦涵 | 国产一区二区毛片| 国产成人8x视频一区二区| 99久久综合狠狠综合久久| 99re成人在线| 欧美午夜影院一区| 欧美一区二区三区白人| 日韩免费一区二区三区在线播放| 精品99999| 国产精品久久久久久久久免费丝袜| 亚洲三级电影全部在线观看高清| 亚洲国产综合色| 麻豆国产一区二区| 国产91露脸合集magnet| 色婷婷综合激情| 在线综合+亚洲+欧美中文字幕| 欧美成人一区二区三区片免费| 国产丝袜美腿一区二区三区| 中文字幕字幕中文在线中不卡视频| 亚洲一区二区在线观看视频| 理论片日本一区| 风流少妇一区二区| 欧美视频在线一区| 精品国产百合女同互慰| 国产精品成人一区二区艾草| 亚洲高清一区二区三区| 国模冰冰炮一区二区| 91在线观看地址| 91精品国产高清一区二区三区| wwwwxxxxx欧美| 亚洲电影激情视频网站| 国内成人免费视频| 欧美无乱码久久久免费午夜一区 | 亚洲日本在线a| 蜜臀久久99精品久久久画质超高清| 福利一区二区在线| 欧美一区二区在线免费观看| 国产精品不卡一区| 免费高清不卡av| 色欧美88888久久久久久影院| 欧美一区二区三区四区在线观看| 国产精品每日更新在线播放网址| 日韩电影免费在线| bt欧美亚洲午夜电影天堂| 欧美一区二区三区四区高清| 亚洲欧美电影一区二区| 国产精品亚洲视频| 欧美一区二区久久久| 亚洲精品综合在线| 国产老妇另类xxxxx| 91精品国产综合久久国产大片| 中文字幕在线免费不卡| 精品一二线国产| 911精品产国品一二三产区| 国产精品不卡一区二区三区| 久草在线在线精品观看| 精品婷婷伊人一区三区三| 亚洲欧美日韩精品久久久久| 国产成人h网站| 日韩视频中午一区| 亚洲成人tv网| 在线视频一区二区免费| 国产精品久久久久久久久果冻传媒| 极品少妇一区二区三区精品视频| 777xxx欧美| 亚洲成人中文在线| 日本精品视频一区二区三区| 国产精品乱码久久久久久| 国产呦萝稀缺另类资源| 日韩精品一区二区三区四区| 日韩有码一区二区三区| 欧美男女性生活在线直播观看| 一区二区欧美精品| 欧美在线观看视频在线| 亚洲精品国产第一综合99久久| 不卡的av网站| 国产精品免费视频一区| 国产激情91久久精品导航| 久久久久久久综合狠狠综合| 极品少妇一区二区| 久久亚洲一级片| 国内一区二区视频| 久久久精品中文字幕麻豆发布|