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

📄 caddaccframe.cpp

📁 AA制消费管理系统 要深入学习C++面向对象编程的同学可以看看。
💻 CPP
字号:
#include "CAddAccFrame.h"
#include <windows.h>
#include "account.h"
#include "interface.h"
#include "CDelSpace.h"
#include "CCheckName.h"
#include "CDataRange.h"
#include "check_empty.h"
#include "CPrintMessage.h"
#include "CAccManager.h"
#include "data_cmp.h "
#include "CFile.h"
#include "check_int.h"
#include "check_date.h"
#include "check_char.h"
#include "check_double.h"
#include "goxy.h"
#include <conio.h>
#include <string>
#include <string.h>
#include <iostream>



using namespace std;

extern CAccManager acc_admin;


void CAddAccFrame::printAddAccFrame()
{
	CAddMoneyInfo accAddMoneyInfo;
	CFile file;
	string addTitle=" Add Account Info ";
	
	
	string name_temp="";
	string sex_temp="";
	string double_temp="";
	string date_temp="";
	string explain_temp;
	string phone_temp="";
	string birth_temp="";
	int all_exit=1;
	
	
	
	do{
		int name_exit=1;
		int sex_exit=1;
		int phone_exit=1;
		int birth_exit=1;
		int accinfo_exit=1;
		int addmoney_exit=1;
		
		
		do{
			
			system("cls");
			printTitle(addTitle);
			cout<<"please input the name: ";
			char str_temp[1024];
			cin.get(str_temp,1024);
			cin.clear();
			cin.ignore(1024,'\n');
			name_temp=str_temp;
			
			
			if(!(Cchcek_empty::check_empty(name_temp)==1))
			{
				CPrintMessage::printMessage(Cchcek_empty::check_empty(name_temp));
				system("pause");
				continue;
				
			}
			else
			{
				CDelSpace::delSpace(name_temp);
				if(!(CCheckName::checkName(name_temp)==1))
				{
					CPrintMessage::printMessage(CCheckName::checkName(name_temp));
					system("pause");
					continue;
				}
				else
				{
					if(!(CDataRange::nameRange(name_temp)==1))
					{
						CPrintMessage::printMessage(CDataRange::nameRange(name_temp));
						system("pause");
						continue;
					}
					else
					{
						name_exit=0;
					}
					
				}
			}
		}while(name_exit);
		
		
		
		do{
			
			system("cls");
			printTitle(addTitle);
			printInfo("name:",name_temp);
			cout<<"please enter sex (man='M'or'm' woman='F'or'f'):";
			char str_temp[1024];
			cin.get(str_temp,1024);
			cin.clear();
			cin.ignore(1024,'\n');
			sex_temp=str_temp;
			
			
			if(!(Cchcek_empty::check_empty(sex_temp)==1))
			{
				CPrintMessage::printMessage(Cchcek_empty::check_empty(sex_temp));
				system("pause");
				continue;
				
			}
			else
			{
				CDelSpace::delSpace(sex_temp);
				if(!(CDataRange::sexRange(sex_temp)==1))
				{
					CPrintMessage::printMessage((CDataRange::sexRange(sex_temp)));
					system("pause");
					continue;
				}
				else
				{
					if(!(C_check_cmp::check_sex(sex_temp)==1))
					{
						CPrintMessage::printMessage(C_check_cmp::check_sex(sex_temp));
						system("pause");
						continue;
					}
					else
					{
						sex_exit=0;
					}
					
				}
			}
		}while(sex_exit);
		
		
		
		do{
			
			system("cls");
			printTitle(addTitle);
			printInfo("Name:",name_temp);
			printInfo("Sex:",sex_temp);
			cout<<"please enter phone number(11bits OR 12bits):";
			char str_temp[1024];
			cin.get(str_temp,1024);
			cin.clear();
			cin.ignore(1024,'\n');
			phone_temp=str_temp;
			
			if(Cchcek_empty::check_empty(phone_temp)==9)
			{
				break;
			}
			
			if(!(C_check_int::check_int(phone_temp)==1))
			{
				CPrintMessage::printMessage(C_check_int::check_int(phone_temp));
				system("pause");
				continue;
				
			}
			else
			{
				//CDelSpace::delSpace(phone_temp);
				if(!(CDataRange::intRange(phone_temp)==1))
				{
					CPrintMessage::printMessage((CDataRange::intRange(phone_temp)));
					system("pause");
					continue;
				}
				else
				{
					if(phone_temp.size()==12&&phone_temp[0]!='0')
					{
						cout<<endl;
						cout<<endl<<"ERROR INFO:"<<endl;
						cout<<"sorry!!  12 bits of phone numbers must begin with 0 ,please reput!!";
						system("pause");
						continue;
					}
					else
					{
						phone_exit=0;
					}
					
				}
			}
		}while(phone_exit);
		
		
		do{
			
			system("cls");
			printTitle(addTitle);
			printInfo("Name:",name_temp);
			printInfo("Sex:",sex_temp);
			printInfo("Phone:",phone_temp);
			cout<<"please enter birthday(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)==9)
			{
				break;
			}
			
			
			if(!(Cchcek_empty::check_empty(birth_temp)==1))
			{
				CPrintMessage::printMessage(Cchcek_empty::check_empty(birth_temp));
				system("pause");
				continue;
				
			}
			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");
					continue;
				}
				else
				{
					if(!(C_check_cmp::check_date(birth_temp)==1))
					{
						CPrintMessage::printMessage(C_check_cmp::check_date(birth_temp));
						system("pause");
						continue;
					}
					else
					{
						if(!(CDataRange::dateRange(birth_temp)==1))
						{
							CPrintMessage::printMessage(CDataRange::dateRange(birth_temp));
							system("pause");
							continue;
						}
						else
						{
							birth_temp = C_check_date::changeToStdDate();
							
							birth_exit=0;
						}
						
					}
					
					
				}
			}
		}while(birth_exit);
		CAccount acc;
		char money[1024];
		strcpy(money,sex_temp.c_str());
		sex_temp = strupr(money);
		acc.SetName(name_temp);
		acc.SetSex( sex_temp);
		acc.SetBirthday(birth_temp);
		acc.SetPhone(phone_temp);
		acc_admin.addToVector(acc);
		file.saveToFile();
		
		
		do {
			system("cls");
			
			printTitle(addTitle);
			CInterface::printLine("Account Info");
			printInfo("Id:",acc_admin.getCount());	
			printInfo("Name:",name_temp);
			printInfo("Sex:",sex_temp);
			printInfo("Balance:",acc.GetBalance());
			printInfo("Phone:",phone_temp);
			printInfo("Birthday:",birth_temp);
			CInterface::printLine("");
			cout<<"                      do you want to add money to your account?"<<endl;
			cout<<"                             1.yes,add money now!"<<endl;
			cout<<"                             2.no,add another account!"<<endl;
			cout<<"                             0.return to mainmen!"<<endl;
			cout<<"                             please make a choice[0-2]:";
			char ch_temp=getche();
			
			
			
			if(!(C_check_char::checkChar(ch_temp)==1))
			{
				CPrintMessage::printMessage(C_check_char::checkChar(ch_temp));
				system("pause");
				continue;
				
			}
			else
			{
				if(!(C_check_cmp::check_char(ch_temp,2)==1))
				{
					CPrintMessage::printMessage(C_check_cmp::check_char(ch_temp,2));
					system("pause");
					continue;
					
				}
				else
				{
					switch(ch_temp)
					{
					case '1':
						cout<<endl<<"                      please input the money to account:";
						
						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");
							continue;
							
						}
						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");
								continue;
							}
							else
							{
								if(!(CDataRange::doubleRange(double_temp)==1))
								{
									CPrintMessage::printMessage(CDataRange::doubleRange(double_temp));
									system("pause");
									continue;
								}
								else
								{
									if(!(C_check_cmp::check_doulble(double_temp)==1))
									{
										CPrintMessage::printMessage(C_check_cmp::check_doulble(double_temp));
										system("pause");
										continue;
									}
									else
									{
										
										cout<<endl<<"                          please enter date(example:1985-02-05):";
										char str_temp[1024];
										cin.get(str_temp,1024);
										cin.clear();
										cin.ignore(1024,'\n');
										date_temp=str_temp;
										
										if(!(Cchcek_empty::check_empty(date_temp)==1))
										{
											CPrintMessage::printMessage(Cchcek_empty::check_empty(date_temp));
											system("pause");
											continue;
											
										}
										else
										{
											CDelSpace::delSpace(date_temp);
											if(!(C_check_date::check_date(date_temp)==1))
											{
												CPrintMessage::printMessage(C_check_date::check_date(date_temp));
												system("pause");
												continue;
											}
											else
											{
												if(!(C_check_cmp::check_date(date_temp)==1))
												{
													CPrintMessage::printMessage(C_check_cmp::check_date(date_temp));
													system("pause");
													continue;
												}
												else
												{
													if(!(CDataRange::dateRange(date_temp)==1))
													{
														CPrintMessage::printMessage(CDataRange::dateRange(date_temp));
														system("pause");
														continue;
													}
													else
													{
														
														
														date_temp=C_check_date::changeToStdDate();
														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");
															continue;
														}
														else
														{
															accAddMoneyInfo.setMoney(atof(double_temp.c_str()));
															acc_admin.getVeAcc(acc_admin.getCount()).SetBalance(atof(double_temp.c_str()));
															accAddMoneyInfo.setName(acc_admin.getVeAcc(acc_admin.getCount()).GetName());
															accAddMoneyInfo.setExplain(explain_temp);
															accAddMoneyInfo.setDate(date_temp);
															acc_admin.addToInfoVector(accAddMoneyInfo);
															file.saveToFile();//*******************************************************
															
															system("cls");
															CInterface::printTitle(addTitle);
															CInterface::printLine("Account Info");
															printInfo("Id:",acc_admin.getCount());	
															printInfo("Name:",acc_admin.getVeAcc(acc_admin.getCount()).GetName());
															printInfo("Sex:",acc_admin.getVeAcc(acc_admin.getCount()).GetSex());
															printInfo("Balance:",acc_admin.getVeAcc(acc_admin.getCount()).GetBalance());
															printInfo("Phone:",acc_admin.getVeAcc(acc_admin.getCount()).GetPhone());
															printInfo("Birthday:",acc_admin.getVeAcc(acc_admin.getCount()).GetBirthday());
															CInterface::printLine("add successful!");
															cout<<"                      do you want to add account?"<<endl;
															cout<<"                      1.yes,add account now!"<<endl;
															
															cout<<"                      0.return to mainmen!"<<endl;
															cout<<"                      please make a choice[0-1]:";
															char ch1_temp=getche();
															if(!(C_check_char::checkChar(ch_temp)==1))
															{
																CPrintMessage::printMessage(C_check_char::checkChar(ch_temp));
																system("pause");
																continue;
																
															}
															else
															{
																if(!(C_check_cmp::check_char(ch_temp,1)==1))
																{
																	CPrintMessage::printMessage(C_check_cmp::check_char(ch_temp,2));
																	system("pause");
																	continue;
																	
																}
																else
																{
																	switch(ch1_temp)
																	{
																	case '1':
																		accinfo_exit=0;
																		addmoney_exit=0;
																		break;
																		
																	case '0':
																		addmoney_exit=0;
																		accinfo_exit=0;
																		all_exit=0;
																		break;
																		
																		
																	default:
																		break;
																	}
																	
																}											
															} 											
																						
														}
																					
														}
													}
												}
											}
																			
									}
									
									
								}
							}
							
							break;
				case '2':
					accinfo_exit=0;
					break;                                                           
					
				case '0':
					accinfo_exit=0;
					all_exit=0;
					break;
				default:
					break;
					
						}
			}
		}
		
	}	
	
	} while(accinfo_exit);
	}while(all_exit);
	
	
}
/////////////////////////////////////////////////////////////
void CAddAccFrame::printAccInfo(string str)
{
	int i,n=str.size();
	
	
	
	for(i=0;i<80;i++)
	{
		if((i==(80-n)/2))
		{
			cout<<str;
			cout<<endl;
			break;
			
		}
		
		cout<<" ";
	}
	
	
}
/////////////////////////////////////////////////////
void CAddAccFrame::printInfo(string str1,string str2)
{
	cout.setf(ios::showpoint);
	cout<<std::right<<setw(40)<<str1<<str2<<endl;
	
	
	
	
	
	
}
/////////////////////////////////////////////////////
void CAddAccFrame::printInfo(string str1,int str2)
{
	cout.setf(ios::showpoint);
	cout<<std::right<<setw(40)<<str1<<fixed<<setprecision(2)<<str2<<endl;
	
	
	
	
	
	
}
/////////////////////////////////////////////////////
void CAddAccFrame::printInfo(string str1,double str2)
{
	cout.setf(ios::showpoint);
	cout<<std::right<<setw(40)<<str1<<str2<<endl;
	
	
	
}












⌨️ 快捷键说明

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