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

📄 clientdata.cpp

📁 创建教师住房信息类
💻 CPP
字号:
#include <iostream>
using std::string;
using std::cout;
using std::endl;
using std::left;
using std::right;

#include <iomanip>
using std::setw;
using std::setprecision;

#include <cstring>

#include "ClientData.h"

ClientData::ClientData( int vID ,string vname ,int vsex,int vjob, int vbirthyear ,
					  int vbirthmonth,int vworkyear,int vworkmonth,int vdegree,
	               	int vfamily,int vlevel,int varea,int vapplylevel )
{
	ClientID=vID;

    const char *namev=vname.data();
	int length = strlen( namev );
	length = ( length < 25 ? length : 24 );
	strncpy( Name, namev, length );
	Name[length] ='\0';

	Sex=vsex;

	Job=vjob;

	BirthYear=vbirthyear;

	BirthMonth=vbirthmonth;

	WorkYear=vworkyear;
	
	WorkMonth=vworkmonth;

	Degree=vdegree;

	Family=vfamily;

	Level=vlevel;

	Area=varea;

	ApplyLevel=vapplylevel;
}

int ClientData::getClientID() const
{
	return ClientID;
}

void ClientData::setClientID(int ID)
{
	ClientID=ID;
}



string ClientData::getName() const
{
	return Name;
}

int ClientData::getSex() const
{
    	return Sex;
}

string ClientData::printSex() const
{

	char man[]="male";
	char woman[]="female";
	char error[]="unknow";
	if (Sex==1)
		return man;
	else if (Sex==2)
		return woman;
	else 
		return error;
}
		


int ClientData::getJob() const
{
	return Job;
}

string ClientData::printJob() const
{
	char j1[]="教授";
	char j2[]="副教授";
	char j3[]="讲师";
	char j4[]="助教";
	char error[]="unknow";
	if (Job==1)
		return j1;
	else if(Job==2)
		return j2;
	else if(Job==3)
		return j3;
	else if(Job==4)
		return j4;
	else
		return "error";
}

int ClientData::getBirthYear() const
{
	return BirthYear;
}


int ClientData::getBirthMonth() const
{
	return BirthMonth;
}

int ClientData::getWorkYear() const
{
	return WorkYear;
}

int ClientData::getWorkMonth() const
{
	return WorkMonth;
}

int ClientData::getDegree() const
{
	return Degree;
}

string ClientData::printDegree() const
{
	char d1[]="博士";
	char d2[]="硕士";
	char d3[]="本科";
	char d4[]="其它";
	char error[]="unknow";
	if (Degree==1)
		return d1;
	else if(Degree==2)
		return d2;
	else if(Degree==3)
		return d3;
	else if(Degree==4)
		return d4;
	else
		return "error";
}

	
int ClientData::getFamily() const
{
	return Family;
}

int ClientData::getLevel() const
{
	return Level;
}

string ClientData::printLevel() const
{
	char l1[]="集体宿舍";
	char l2[]="一室";
	char l3[]="一室一厅";
	char l4[]="二室";
	char l5[]="二室一厅";
	char l6[]="三室";
	char l7[]="三室一厅";
	char error[]="unknow";
	if (Level==1)
		return l1;
	else if(Level==2)
		return l2;
	else if(Level==3)
		return l3;
	else if(Level==4)
		return l4;
	else if(Level==5)
		return l5;
	else if(Level==6)
		return l6;
	else if(Level==7)
		return l7;

	else
		return "error";
}


int ClientData::getArea() const
{
	return Area;
}

int ClientData::getApplyLevel() const
{
	return ApplyLevel;
}

void ClientData::setApplyLevel(int apply) 
{
	ApplyLevel=apply;
}

double getRemark(ClientData &client)
{
	double Remark=0;
	switch(client.Job){
	case 1:
		Remark+=20;
		break;
	case 2:
		Remark+=16;
		break;
	case 3:
		Remark+=12;
		break;
	case 4:
		Remark+=8;
		break;
	default:
		break;
	}

	Remark+=static_cast<double>((2006-client.BirthYear)*0.1+(9-client.BirthMonth)*0.0083+(2006-client.WorkYear)*0.5+(9-client.WorkMonth)*0.0416);

	switch(client.Degree){
	case 1:
		Remark+=4.5;
		break;
	case 2:
		Remark+=3.25;
		break;
	case 3:
		Remark+=2;
		break;
	case 4:
		Remark+=0;
		break;
	default:
		break;
	}

	return Remark;
}


double getJobRemark(ClientData &client)
{
	double Remark=0;
	switch(client.Job){
	case 1:
		Remark=20;
		break;
	case 2:
		Remark=16;
		break;
	case 3:
		Remark=12;
		break;
	case 4:
		Remark=8;
		break;
	default:
		break;
	}
	return Remark;
}

double getBirthRemark(ClientData &client)
{
	double Remark=static_cast<double>((2006-client.BirthYear)*0.1+(9-client.BirthMonth)*0.0083);
	return Remark;
}

double getWorkRemark(ClientData &client)
{
	double Remark=static_cast<double>((2006-client.WorkYear)*0.5+(9-client.WorkMonth)*0.0416);
	return Remark;
}
double getDegreeRemark(ClientData &client)
{
	double Remark=0;
	switch(client.Degree){
	case 1:
		Remark=4.5;
		break;
	case 2:
		Remark=3.25;
		break;
	case 3:
		Remark=2;
		break;
	case 4:
		Remark=0;
		break;
	default:
		break;
	}

	return Remark;
}



⌨️ 快捷键说明

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