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

📄 csearchconsuminfoframe.cpp

📁 AA制消费管理系统 要深入学习C++面向对象编程的同学可以看看。
💻 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 + -