📄 cconsumframe.cpp
字号:
#include "CConsumFrame.h"
#include "interface.h"
#include "CAddBalance.h"
#include "CBroweAccFrame.h "
#include "CAccManager.h"
#include "CAddAccFrame.h"
#include "check_int.h"
#include "check_char.h"
#include "CPrintMessage.h"
#include "data_cmp.h"
#include "CFile.h"
#include "check_empty.h"
#include "CDelSpace.h"
#include "check_double.h"
#include "CAddMoneyInfo.h"
#include "CDataRange.h"
#include "check_date.h"
#include <string.h>
#include <iostream>
#include <conio.h>
#include <windows.h>
extern CAccManager acc_admin;
void CConsumFrame::printConsumFrame()
{
CFile file;
CConsumInfo consumInfo;
CBroweAccFrame browframe;
double money;
string date;
int totalNum;
string explain;
string consumid;
int n;//********消费类型 选择
int n1;//********
int consum_exit=1;
int all_exit=1;
do{
system("cls");
CInterface:: printTitle("Add Consum Info");
while(!(money=moneyInputCtrl()));
while(!(atoi((date=dateInputCtrl()).c_str())));
while(!(totalNum=atoi(totalNumInputCtrl().c_str())));
while( (explain=explainInputCtrl())=="0");
//string strstyle[3]={"======================================","Id Name Balance","======================================"};
string str1[4]={"----------Menu List----------","2.All People Join The Consum","1.Some People Absent The Consum","0.Some People join the Consum"};
string str2[4]={"are you sure to save the consum? ","2.yes,save it now","1.no,abandon and continue to add","0.return back" };
system("cls");
do{
system("cls");
consum_exit=1;
CInterface:: printTitle("Add Consum Info");
//CInterface::printOption(strstyle,3);
browframe.printVeAcc();
CInterface::printOption(str1,4);
while((n=inputCtrl(2))==0);
switch(n)
{
case 3://******************全部人参加消费
if(checkConsumNumToTotalNum(totalNum,acc_admin.getUseAbleCount())==0)
{
break;
}
system("cls");
CInterface:: printTitle("Add Consum Info");
printAllConsumDetail(date,money,totalNum,explain);
CInterface::printOption(str2,4);
while((n1=inputCtrl(2))==0);
switch(n1)
{
case 3:
consumInfo.setAmount(money);
acc_admin.setAllJoinAmount(consumInfo,money);//在全部人账户类里扣钱 并生成消费账号保存在消费信息对象里
consumInfo.setDate(date);
consumInfo.setExplain(explain);
consumInfo.setConsumTotalNum(totalNum);
acc_admin.addToConsumVectoor(consumInfo);
file.saveToFile();
consum_exit=0;
all_exit=0;
system("cls");
CInterface:: printTitle("Add Consum Info");
printAbsentConsumDetail(consumInfo.getDate(),consumInfo.getAmount(),consumInfo.getConsumTotalNum(),consumInfo.getExplain(),consumInfo.getConsumId());
CInterface:: printTitle("");
CInterface:: printTitle("save successfull!");
CInterface:: printTitle("");
system("pause");
break;
case 2:
consum_exit=0;
break;
case 1:
consum_exit=0;
all_exit=0;
break;
default:
break;
}
break;
case 2://*****************************一些人不参加消费
if(checkConsumNumToTotalNum(totalNum,acc_admin.getUseAbleCount(),1)==0)
{
break;
}
while(atoi((consumid=absentConsumIdInputCtrl(totalNum)).c_str())==0);
system("cls");
CInterface:: printTitle("Add Consum Info");
printAbsentConsumDetail(date,money,totalNum,explain,consumid);
CInterface::printOption(str2,4);
while((n1=inputCtrl(2))==0);
switch(n1)
{
case 3:
consumInfo.setAmount(money);
acc_admin.setAbsentAmount(consumInfo,consumid,money,totalNum);//在扣除不参加的人后的账户类里扣钱 并生成消费账号保存在消费信息对象里
consumInfo.setDate(date);
consumInfo.setExplain(explain);
consumInfo.setConsumTotalNum(totalNum);
acc_admin.addToConsumVectoor(consumInfo);
file.saveToFile();
consum_exit=0;
all_exit=0;
system("cls");
CInterface:: printTitle("Add Consum Info");
printJoinConsumDetail(consumInfo.getDate(),consumInfo.getAmount(),consumInfo.getConsumTotalNum(),consumInfo.getExplain(),consumInfo.getConsumId());
CInterface:: printTitle("");
CInterface:: printTitle("save successfull!");
CInterface:: printTitle("");
system("pause");
break;
case 2:
consum_exit=0;
break;
case 1:
consum_exit=0;
all_exit=0;
break;
default:
break;
}
break;
case 1://****************************一些人参加消费
while(atoi((consumid=joinConsumIdInputCtrl(totalNum)).c_str())==-1);
system("cls");
CInterface:: printTitle("Add Consum Info");
printJoinConsumDetail(date,money,totalNum,explain,consumid);
CInterface::printOption(str2,4);
while((n1=inputCtrl(2))==0);
switch(n1)
{
case 3:
consumInfo.setAmount(money);
acc_admin.setJoinAmount(consumInfo,consumid,money,totalNum);//在扣除不参加的人后的账户类里扣钱 并生成消费账号保存在消费信息对象里
consumInfo.setDate(date);
consumInfo.setExplain(explain);
consumInfo.setConsumTotalNum(totalNum);
acc_admin.addToConsumVectoor(consumInfo);
file.saveToFile();
consum_exit=0;
all_exit=0;
system("cls");
CInterface:: printTitle("Add Consum Info");
printJoinConsumDetail(consumInfo.getDate(),consumInfo.getAmount(),consumInfo.getConsumTotalNum(),consumInfo.getExplain(),consumInfo.getConsumId());
CInterface:: printTitle("");
CInterface:: printTitle("save successfull!");
CInterface:: printTitle("");
system("pause");
break;
case 2:
consum_exit=0;
break;
case 1:
consum_exit=0;
all_exit=0;
break;
default:
break;
}
break;
default:
break;
}
}while(consum_exit);
}while(all_exit);
}
/////////////////////////////////////////////////////////////////////////////////
int CConsumFrame::inputCtrl(int n)
{
cout<<" please make a choice 0-"<<n<<":";
char ch_input = getche();
if(!(C_check_char::checkChar(ch_input)==1))
{
CPrintMessage::printMessage(C_check_char::checkChar(ch_input));
system("pause");
return 0;
}
else
{
if(!(C_check_cmp::check_char(ch_input,n)==1))
{
CPrintMessage::printMessage(C_check_cmp::check_char(ch_input,n));
system("pause");
return 0;
}
else
{
if(ch_input=='0')
{
return 1;
}
if(ch_input=='1')
{
return 2;
}
if(ch_input=='2')
{
return 3;
}
}
}
return -1;
}
//////////////////////////////////////////////////////////
double CConsumFrame::moneyInputCtrl()
{
cout<<"please input the consum amount[0.00-999.99]:";
string double_temp;
char str_temp[1024];
cin.get(str_temp,1024);
cin.clear();
cin.ignore(1024,'\n');
double_temp=str_temp;
if(!(Cchcek_empty::check_empty(double_temp)==1))
{
CPrintMessage::printMessage(Cchcek_empty::check_empty(double_temp));
system("pause");
return 0;
}
else
{
CDelSpace::delSpace(double_temp);
if(!(C_check_double::check_double(double_temp)==1))
{
CPrintMessage::printMessage(C_check_double::check_double(double_temp));
system("pause");
return 0;
}
else
{
if(!(CDataRange::doubleRange(double_temp)==1))
{
CPrintMessage::printMessage(CDataRange::doubleRange(double_temp));
system("pause");
return 0;
}
else
{
if(!(C_check_cmp::check_consumMoney(double_temp)==1))
{
CPrintMessage::printMessage(C_check_cmp::check_doulble(double_temp));
system("pause");
return 0;
}
else
{
return atof(double_temp.c_str());
}
}
}
}
return -9;
//////////////////////////////////////////////////////////////////////////////////////////
}
string CConsumFrame::dateInputCtrl()
{
string birth_temp;
cout<<"please enter 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
{
birth_temp = C_check_date::changeToStdDate();
return birth_temp;
}
}
}
}
}
//////////////////////////////////////////////////////////////////////////////////
string CConsumFrame::explainInputCtrl()
{
string explain_temp;
cout<<"please enter explain(don't over 200 bits):";
char str_temp[1024];
cin.get(str_temp,1024);
cin.clear();
cin.ignore(1024,'\n');
explain_temp=str_temp;
if(!(CDataRange::explainRange(explain_temp)==1))
{
CPrintMessage::printMessage(CDataRange::explainRange(explain_temp));
system("pause");
return "0";
}
else
{
return explain_temp;
}
}
//////////////////////////////////////////////////////////////
string CConsumFrame::totalNumInputCtrl()
{
string totalnum_temp;
cout<<"please enter the total numbers who consum:";
char str_temp[1024];
cin.get(str_temp,1024);
cin.clear();
cin.ignore(1024,'\n');
totalnum_temp=str_temp;
if(!(Cchcek_empty::check_empty(totalnum_temp)==1))
{
CPrintMessage::printMessage(Cchcek_empty::check_empty(totalnum_temp));
system("pause");
return "0";
}
CDelSpace::delSpace(totalnum_temp);
if(!(C_check_int::check_int(totalnum_temp)==1))
{
CPrintMessage::printMessage(C_check_int::check_int(totalnum_temp));
system("pause");
return "0";
}
if(!(C_check_cmp::check_consumTotalNum(totalnum_temp)==1))
{
CPrintMessage::printMessage(C_check_cmp::check_consumTotalNum(totalnum_temp));
system("pause");
return "0";
}
return totalnum_temp;
}
////////////////////////////////////////////////////////////////////////////
string CConsumFrame::joinConsumIdInputCtrl(int num)
{
string consumid_temp;
cout<<endl<<" please enter the consum id who join:";
char str_temp[1024];
cin.get(str_temp,1024);
cin.clear();
cin.ignore(1024,'\n');
consumid_temp=str_temp;
if(!(Cchcek_empty::check_empty(consumid_temp)==1))
{
CPrintMessage::printMessage(Cchcek_empty::check_empty(consumid_temp));
system("pause");
return "-1";
}
CDelSpace::delSpace(consumid_temp);
if(!(C_check_cmp::check_joincomsumId(consumid_temp, num)==1))
{
CPrintMessage::printMessage(C_check_cmp::check_joincomsumId(consumid_temp, num));
system("pause");
return "-1";
}
return consumid_temp;
}
///////////////////////////////////////////////////////////////////////
string CConsumFrame::absentConsumIdInputCtrl(int num)
{
string consumid_temp;
cout<<endl<<" please enter the consum id who absent:";
char str_temp[1024];
cin.get(str_temp,1024);
cin.clear();
cin.ignore(1024,'\n');
consumid_temp=str_temp;
if(!(Cchcek_empty::check_empty(consumid_temp)==1))
{
CPrintMessage::printMessage(Cchcek_empty::check_empty(consumid_temp));
system("pause");
return "0";
}
CDelSpace::delSpace(consumid_temp);
if(!(C_check_cmp::check_absentcomsumId(consumid_temp, num)==1))
{
CPrintMessage::printMessage(C_check_cmp::check_absentcomsumId(consumid_temp, num));
system("pause");
return "0";
}
return consumid_temp;
}
//////////////////////////////////////////////////////////////////////////////////////////////////
void CConsumFrame::printAllConsumDetail(string date,double money,int totalnum,string explain)
{
CInterface::printLine("Consum Info Details");
CAddAccFrame::printInfo("Amount:",money);
CAddAccFrame::printInfo("Date:",date);
CAddAccFrame::printInfo("Consum Numbers:",totalnum);
CAddAccFrame::printInfo("Consum Id:","All");
CAddAccFrame::printInfo("Explain:",explain);
CInterface::printLine("");
}
///////////////////////////////////////////////////////////////////////////////
void CConsumFrame::printJoinConsumDetail(string date,double money,int totalnum,string explain,string consumid)
{
CInterface::printLine("Consum Info Details");
CAddAccFrame::printInfo("Amount:",money);
CAddAccFrame::printInfo("Date:",date);
CAddAccFrame::printInfo("Consum Numbers:",totalnum);
CAddAccFrame::printInfo("Join Consum Id:",consumid);
CAddAccFrame::printInfo("Explain:",explain);
CInterface::printLine("");
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////
void CConsumFrame::printAbsentConsumDetail(string date,double money,int totalnum,string explain,string consumid)
{
CInterface::printLine("Consum Info Details");
CAddAccFrame::printInfo("Amount:",money);
CAddAccFrame::printInfo("Date:",date);
CAddAccFrame::printInfo("Consum Numbers:",totalnum);
CAddAccFrame::printInfo("Absent Consum Id:",consumid);
CAddAccFrame::printInfo("Explain:",explain);
CInterface::printLine("");
}
//////////////////////////////////////////////////////////////////////////////
int CConsumFrame::checkConsumNumToTotalNum(int consumnum,int totalNumI)
{
if(consumnum!=totalNumI)
{
cout<<endl<<"ERROR INFO:"<<endl;
cout<<"sorry!!,the number you input before is not equal the all numbers!!";
system("pause");
return 0;
}
return -1;
}
//////////////////////////////////////////////////////////////////////////////////
int CConsumFrame::checkConsumNumToTotalNum(int consumnum,int totalNumI,int a)
{
if(consumnum==totalNumI)
{
cout<<endl<<"ERROR INFO:"<<endl;
cout<<"sorry!!,all people attends the consum,there is no absent members!!";
system("pause");
return 0;
}
return -1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -