📄 caccmanager.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 + -