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

📄 caccmanager.cpp

📁 AA制消费管理系统 要深入学习C++面向对象编程的同学可以看看。
💻 CPP
字号:
#include "CAccManager.h"
#include "interface.h"
#include "CBroweAccFrame.h "
#include <iostream>

using namespace std;

#include "CFile.h"



CAccManager::CAccManager()
{
	count = 0;
	useAbleCount = 0;
	count1 = 0;
	count2 = 0;
}
///////////////////////////////////////////////////////////////
CAccManager::~CAccManager()
{
	
}
//////////////////////////////////////////////////////////
void CAccManager::addToVector(CAccount & account)
{	
	count++;
	useAbleCount++;
	account.SetId(count);
	veAcc.push_back(account);

	
}
/////////////////////////////////////////////////////////////////////
void CAccManager::setAccFlag( )
{
	
	
}
//////////////////////////////////////////////////////////////
void CAccManager::addBalance(CAccount & account)
{
	
}
//////////////////////////////////////////////////////////////
int CAccManager::getCount()
{
	return count;
}
////////////////////////////////////////////////
CAccount & CAccManager::getVeAcc(int n)
{
	return veAcc[n-1];
}
///////////////////////////////////////////////////
CAddMoneyInfo & CAccManager::getVeAddMoneyInfo(int n)
{

	return veAddMoneyInfo[n-1];

}
/////////////////////////////////////////////////////
CConsumInfo & CAccManager::getVeConsumInfo(int n)
{


	return veConsumInfo[n-1];


}
/////////////////////////////////////////////////////////

void CAccManager::addToInfoVector(CAddMoneyInfo & addMoneyinfo)
{
	count1++;
	addMoneyinfo.setId(count1);
	veAddMoneyInfo.push_back(addMoneyinfo);

	

}
//////////////////////////////////////////////////////////////
int CAccManager::getCount1()
{
	return count1;
}
/////////////////////////////////////////////////////////////
int CAccManager::getCount2()
{
	return count2;
}
/////////////////////////////////////////////////////////////
void CAccManager::addToConsumVectoor(CConsumInfo & consuminfo)
{
	count2++;
	consuminfo.setId(count1);
	veConsumInfo.push_back(consuminfo);

}

/////////////////////////////////////////////////////////////////////
string CAccManager::makeJoinConsumId(string &consumid,int num)
{

	return "";



}
////////////////////////////////////////////////////////////////////////////
string CAccManager::makeAbsentConsumId(string &consumid,int num)
{	
	string a="/";
	int length=consumid.size();
	char temp[1024];
	if(length==0)
	{
		itoa(num,temp,10);
		consumid+=temp;
		return consumid;
	}
	if((consumid[length-1]>'0')&&(consumid[length-1]<='9'))
	{
		consumid+=a;
		itoa(num,temp,10);
		consumid+=temp;
		return consumid;
	}

 	return consumid;

	


}
//////////////////////////////////////////////////////////////////////////
string CAccManager::makeAllJoinConsumId(string &allId,int num)
{

	string a="/";
	int length=allId.size();
	char temp[1024];
	if(length==0)
	{
		itoa(num,temp,10);
		allId+=temp;
		return allId;
	}
	if((allId[length-1]>'0')&&(allId[length-1]<='9'))
	{
		allId+=a;
		itoa(num,temp,10);
		allId+=temp;
		return allId;
	}

	return allId;
}



////////////////////////////////////////////////////////////////////////////////
void CAccManager::setAllJoinAmount(CConsumInfo& consuminfo,double money)
{

	int total=veAcc.size();
	string allid;
	for(int i=0;i<total;i++)
	{
		if(veAcc[i].GetAccFlags()==true)
		{		
			veAcc[i].SetBalance(-(money/count));
			makeAllJoinConsumId(allid,i+1);
		}
			

	}
	
	consuminfo.setConsumId(allid);

}
////////////////////////////////////////////////////////////////////////////
void CAccManager::setJoinAmount(CConsumInfo& consuminfo,string joinconsumid,double money,int consum_num)
{
	int total=veAcc.size();
	int id_temp[1024]={0};
	int m=0;
	int n1=0;
	int n2=0;
	int j=0;
	char *temp=NULL;
	const char *str;
	char str_temp[1024];
	str=joinconsumid.c_str();
	temp=strchr(str,'/');
	while(str[m]!='\0')
	{
		if(str[m]!='/')
		{
		
			str_temp[n1]=str[m];
		}
		else
		{
			str_temp[n1]='\0';
			n1=-1;
			id_temp[n2]=atoi(str_temp);
			n2++;

		}
		
		m++;
		n1++;
	}
	str_temp[n1]='\0';
	id_temp[n2]=atoi(str_temp);
	for(int i=0;i<total;i++)
	{
		if(id_temp[j]==(i+1))
		{
			if(j<=(consum_num-1))
			{
				veAcc[i].SetBalance(-(money/(consum_num)));
				j++;
			}	
		
					
		}
	}









	
	consuminfo.setConsumId(joinconsumid);










	
	






}
//////////////////////////////////////////////////////////////////////////////
void CAccManager::setAbsentAmount(CConsumInfo& consuminfo,string absentconsumid,double money,int consum_num)
{
	int total=veAcc.size();
	int id_temp[1024]={0};
	string consumid;
	int m=0;
	int n1=0;
	int n2=0;
	int j=0;
	
	
	char *temp=NULL;
	const char *str;
	char str_temp[1024];
	str=absentconsumid.c_str();
	temp=strchr(str,'/');
	while(str[m]!='\0')
	{
		if(str[m]!='/')
		{
		
			str_temp[n1]=str[m];
		}
		else
		{
			str_temp[n1]='\0';
			n1=-1;
			id_temp[n2]=atoi(str_temp);
			n2++;
			

		}
		
		m++;
		n1++;
	}
	str_temp[n1]='\0';
	id_temp[n2]=atoi(str_temp);











	for(int i=0;i<total;i++)
	{
		if(id_temp[j]==(i+1))
		{
			if(j<=(count-consum_num-1))
			{
				j++;
			}
			continue;

		}
		else
		{
			if(  veAcc[i].GetAccFlags()==true         )
			{
			
				veAcc[i].SetBalance(-(money/(consum_num)));
				makeAbsentConsumId(consumid,i+1);
			}
		}

	}








	
	consuminfo.setConsumId(consumid);
}
/////////////////////////////////////////////////////////////////////////////////
vector<CAccount>& CAccManager:: getVeAcc()
{
	return veAcc;

}
/////////////////////////////////////////////////////////////////////////
vector<CAddMoneyInfo> & CAccManager:: getVeAddMoneyInfo()
{

	return veAddMoneyInfo;




}
//////////////////////////////////////////////////////////////////////////
vector<CConsumInfo> & CAccManager:: getVeConsumInfo()
{


	return veConsumInfo;

}
////////////////////////////////////////////////////////////////////////////////.
void CAccManager::setUseAbleCount(int use_num)
{
	useAbleCount = use_num;

}
////////////////////////////////////////////////////////////////////////////
void CAccManager::setCount(int _count)
{

	count = _count;

}
/////////////////////////////////////////////////////////////////////////////
void CAccManager::setCount1(int _count1)
{

	count1 = _count1;


}
///////////////////////////////////////////////////////////////////////
void CAccManager::setCount2(int  _count2)
{

	count2 =  _count2;


}
////////////////////////////////////////////////////////////////////////
int CAccManager::getUseAbleCount()
{
	

	return useAbleCount;


}
///////////////////////////////////////////////////////////////////////
void CAccManager:: printAccLessBalance()
{

	printTitle("Show Balance");
	printLine("Account Info");
	string strstyle[3]={"======================================","Id    Name                     Balance","======================================"};
	printOption(strstyle,3);
	CBroweAccFrame  broweframe;
	
	if(!(count==0))
	{
		for(int i=0;i<count;i++)
		{
			if(  (getVeAcc()[i].GetBalance()<=5)&& (  getVeAcc()[i].GetAccFlags()==true    )     )
			{
			
				broweframe.printAccInfo(getVeAcc()[i].GetId(),getVeAcc()[i].GetName(),getVeAcc()[i].GetBalance());
			}
		}
		CInterface::printLine("");
		system("pause");

		
	}
	else
	{
 		cout<<"sorry,there is no record.";
 	}	

}

⌨️ 快捷键说明

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