📄 csearchconsuminfoframe.cpp
字号:
#include "CSearchConsumInfo.h"
#include "interface.h"
#include "check_empty.h"
#include "check_int.h"
#include "CConsumInfo.h"
#include "check_date.h"
#include <vector>
#include "data_cmp.h"
#include "CAccManager.h"
#include "CPrintMessage.h"
#include "CDelSpace.h"
#include "CDataRange.h"
extern CAccManager acc_admin;
CSearchConsumInfoFrame::CSearchConsumInfoFrame()
{
}
/////////////////////////////////////////////////////
CSearchConsumInfoFrame::~CSearchConsumInfoFrame()
{
}
/////////////////////////////////////////////////////
void CSearchConsumInfoFrame::printSearchConsumFrame()
{
int search_exit =1;
do{
search_exit = 1;
string str[3]={"2.Search Consum Info By Id","1.Search Consum Info By Date"," 0.Return Back"};
system("cls");
int n;
int id;
string search_date;
printTitle("Search Consum Info");
printOption(str,3);
while((n=inputCtrl(2))==0);
switch(n)
{
case 3:
while((id=IdInputCtrl())==0);
printConsumInfoById(id);
break;
case 2:
while(!(atoi((search_date=CAddBalance::dateInputCtrl()).c_str())));
/* while(!(atoi((last_date=dateInputCtrl(begin_date)).c_str())));*/
printConsumInfoBydate(search_date);
break;
case 1:
search_exit = 0;
break;
default:
break;
}
}while(search_exit);
}
//////////////////////////////////////////////////////////
void CSearchConsumInfoFrame::printSearchById()
{
system("cls");
int n;
while( (n=IdInputCtrl())==0);
}
///////////////////////////////////////////////////////////
void CSearchConsumInfoFrame::printSearchByDate()
{
}
/////////////////////////////////////////////////////////////
int CSearchConsumInfoFrame::IdInputCtrl()
{
cout<<endl<<"Please input the Id you want to search:";
string id_temp;
char str_temp[1024];
cin.get(str_temp,1024);
cin.clear();
cin.ignore(1024,'\n');
id_temp=str_temp;
if(!(Cchcek_empty::check_empty(id_temp)==1))
{
CPrintMessage::printMessage(Cchcek_empty::check_empty(id_temp));
system("pause");
return 0;
}
else
{
CDelSpace::delSpace(id_temp);
if(!(C_check_int::check_int(id_temp)==1))
{
CPrintMessage::printMessage(C_check_int::check_int(id_temp));
system("pause");
return 0;
}
else
{
if(!(C_check_cmp::check_searchConsumId(id_temp)==1))
{
CPrintMessage::printMessage(C_check_cmp::check_searchConsumId(id_temp));
system("pause");
return 0;
}
else
{
return atoi(id_temp.c_str());
}
}
}
return -9;
}
//////////////////////////////////////////////////////////////
void CSearchConsumInfoFrame::printConsumInfoById(int id)
{
system("cls");
printTitle("Print Consum Info Search By Id");
printLine("");
cout<<std::left<<setw(11)<<"Date";
cout<<std::right<<setw(4)<<" Num";
cout<<std::right<<setw(10)<<" Amount";
cout<<" ";
cout<<std::left<<setw(21)<<"Consum Id ";
cout<<std::left<<setw(30)<<"Explain ";
printLine("");
printConsumInfo(id);
}
/////////////////////////////////////////////////////////////////
void CSearchConsumInfoFrame::printConsumInfoBydate(string dateBegin,string dateLast)
{
system("cls");
printTitle("Print Consum Info Search By Date");
printLine("");
cout<<std::left<<setw(11)<<"Date";
cout<<std::right<<setw(4)<<" Num";
cout<<std::right<<setw(10)<<" Amount";
cout<<" ";
cout<<std::left<<setw(21)<<"Consum Id ";
cout<<std::left<<setw(30)<<"Explain ";
printLine("");
printConsumInfo(dateBegin,dateLast);
}
//////////////////////////////////////////////////////////////////////////////
void CSearchConsumInfoFrame::printConsumInfo(int id)
{
int n=acc_admin.getCount2();
int print_count=0;
vector<CConsumInfo>veTemp;
for(int i=1;i<=n;i++)
{
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=(acc_admin.getVeConsumInfo(i).getConsumId()).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);
int x=0;
while(*(id_temp+x)!=0)
{
if(*(id_temp+x)==id)
{
veTemp.push_back(acc_admin.getVeConsumInfo(i));
print_count++;
break;
}
x++;
}
}
if(print_count==0)
{
cout<<"there is no record!";
}
SortInfoByDec(veTemp);
int num_vetemp=veTemp.size();
for(int m_i=0;m_i<num_vetemp;m_i++)
{
cout<<std::left<<setw(11)<<(veTemp[m_i].getDate());
cout<<std::right<<setw(4)<<(veTemp[m_i].getConsumTotalNum());
cout<<std::right<<setw(10)<<fixed<<setprecision(2)<<(veTemp[m_i].getAmount());
cout<<" ";
cout<<std::left<<setw(21)<<(veTemp[m_i].getConsumId());
cout<<std::left<<setw(30)<<(veTemp[m_i].getExplain());
}
system("pause");
}
///////////////////////////////////////////////////////////////////////////////////
void CSearchConsumInfoFrame::printConsumInfo(string dateBegin,string dateLast)
{
int n=acc_admin.getCount2();
int print_count=0;
vector<CConsumInfo>veTemp;
for(int i=1;i<=n;i++)
{
if( (C_check_cmp::check_searchBegin_LastDay( dateBegin,acc_admin.getVeConsumInfo(i).getDate() )==1 )&& ( C_check_cmp::check_searchBegin_LastDay( acc_admin.getVeConsumInfo(i).getDate(),dateLast ) )==1 )
{
veTemp.push_back(acc_admin.getVeConsumInfo(i));
print_count++;
}
}
if(print_count==0)
{
cout<<"there is no record!";
}
SortInfoByDec(veTemp);
int num_vetemp=veTemp.size();
for(int m_i=0;m_i<num_vetemp;m_i++)
{
cout<<std::left<<setw(11)<<(veTemp[m_i].getDate());
cout<<std::right<<setw(4)<<(veTemp[m_i].getConsumTotalNum());
cout<<std::right<<setw(10)<<fixed<<setprecision(2)<<(veTemp[m_i].getAmount());
cout<<" ";
cout<<std::left<<setw(21)<<(veTemp[m_i].getConsumId());
cout<<std::left<<setw(30)<<(veTemp[m_i].getExplain());
}
system("pause");
}
///////////////////////////////////////////////////////////////////////////////////////
string CSearchConsumInfoFrame::dateInputCtrl(string begin_date)
{
string birth_temp;
cout<<" please enter last date(example:1985-02-05):";
char str_temp[1024];
cin.get(str_temp,1024);
cin.clear();
cin.ignore(1024,'\n');
birth_temp=str_temp;
if(!(Cchcek_empty::check_empty(birth_temp)==1))
{
CPrintMessage::printMessage(Cchcek_empty::check_empty(birth_temp));
system("pause");
return "0";
}
else
{
CDelSpace::delSpace(birth_temp);
if(!(C_check_date::check_date(birth_temp)==1))
{
CPrintMessage::printMessage(C_check_date::check_date(birth_temp));
system("pause");
return "0";
}
else
{
if(!(C_check_cmp::check_date(birth_temp)==1))
{
CPrintMessage::printMessage(C_check_cmp::check_date(birth_temp));
system("pause");
return "0";
}
else
{
if(!(CDataRange::dateRange(birth_temp)==1))
{
CPrintMessage::printMessage(CDataRange::dateRange(birth_temp));
system("pause");
return "0";
}
else
{
if(!(C_check_cmp::check_searchBegin_LastDay(begin_date, birth_temp)==1))
{
CPrintMessage::printMessage(C_check_cmp::check_searchBegin_LastDay(begin_date, birth_temp));
system("pause");
return "0";
}
return birth_temp;
}
}
}
}
}
/////////////////////////////////////////////////////////////////////////////////////
void CSearchConsumInfoFrame::SortInfoByDec(vector<CConsumInfo> &veTemp)
{
int n=veTemp.size();
int i,j;
CConsumInfo consumTemp;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if((C_check_cmp::check_searchBegin_LastDay((veTemp[i].getDate()),(veTemp[j].getDate())))==1)
{
consumTemp = veTemp[j];
veTemp[j] = veTemp[i];
veTemp[i] = consumTemp;
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////
void CSearchConsumInfoFrame:: printConsumInfoBydate(string searchDate)//*******根据日期 查询该日期的消费纪录
{
system("cls");
printTitle("Print Consum Info Search By Date");
printLine("");
cout<<std::left<<setw(11)<<"Date";
cout<<std::right<<setw(4)<<" Num";
cout<<std::right<<setw(10)<<" Amount";
cout<<" ";
cout<<std::left<<setw(21)<<"Consum Id ";
cout<<std::left<<setw(30)<<"Explain ";
printLine("");
printConsumInfo(searchDate);
}
///////////////////////////////////////////////////////////////////////////////////////////
void CSearchConsumInfoFrame:: printConsumInfo(string searchDate)
{
int n=acc_admin.getCount2();
int print_count=0;
vector<CConsumInfo>veTemp;
for(int i=1;i<=n;i++)
{
if( ( acc_admin.getVeConsumInfo(i).getDate() )==searchDate )
{
veTemp.push_back(acc_admin.getVeConsumInfo(i));
print_count++;
}
}
if(print_count==0)
{
cout<<"there is no record!";
}
SortInfoByDec(veTemp);
int num_vetemp=veTemp.size();
for(int m_i=0;m_i<num_vetemp;m_i++)
{
cout<<std::left<<setw(11)<<(veTemp[m_i].getDate());
cout<<std::right<<setw(4)<<(veTemp[m_i].getConsumTotalNum());
cout<<std::right<<setw(10)<<fixed<<setprecision(2)<<(veTemp[m_i].getAmount());
cout<<" ";
cout<<std::left<<setw(21)<<(veTemp[m_i].getConsumId());
cout<<std::left<<setw(30)<<(veTemp[m_i].getExplain());
}
system("pause");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -