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

📄 mystring.cpp

📁 AA制消费管理系统(简易型) 实现账户信息
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	else
	{
		for(int i=0;i<len;i++)
		{
			if(!isdigit(id[i]))
				break;
		}
		if(i<len)
			return false;
		else
			return true;
	}
		
}
/*******************************************************************************/
/*编号列表idlist合法性验证                                                     */
/*******************************************************************************/
bool CMyString::CheckIDList(string &idlist,int &_count)
{
	RemoveAllBlank(idlist);
	RemoveMiddleBackBias(idlist);
	string setIDList="0123456789'/'";
	int first,count=0;
	first=idlist.find_first_not_of(setIDList);
	if(first!=string::npos)
	{
		CMessageBox::ShowMessage("Input is illegal,please input again !");
		return false;
	}
	if(idlist[0]=='/')
		idlist.erase(0,1);
	int len=idlist.length();
	if(idlist[len-1]!='/')
		idlist+="/";
	char str[200],*result;
	int a[100]={0};
	for (int i=0;i<idlist.length();i++)
	{
		str[i]=idlist[i];
	}
	str[i]='\0';
	i=0;
	result=strtok(str,"/");
	while(result!=NULL)
	{
		count++;
		a[i]=atoi(result);i++;
		result=strtok(NULL,"/");
	}
	
	if(count>12)
	{
		CMessageBox::ShowMessage("Input is too long,please input again !");
		return false;
	}
	for(i=0;i<count;i++)
	{
		for(int j=i+1;j<count;j++)
		{
			if(a[i]==a[j])
			{
				CMessageBox::ShowMessage("Input cannot more than one time !");
				return false;
			}
		}
	}
	//对id进行升排序
	//将升序的数组转化为字符串
	string s;
	idlist="";
	for(i=0;i<count;i++)
	{
		for(int j=i+1;j<count;j++)
		{
			if(a[i]>a[j])
			{
				int temp;
				temp=a[j];
				a[j]=a[i];
				a[i]=temp;
			}

		}
	}
	for(i=0;i<count;i++)
	{
		s=IntToStr(a[i]);
		s+="/";
		idlist+=s;
	}
	len=idlist.length();
	idlist[len]='\0';
	if(count!=_count)
	{
		CMessageBox::ShowMessage("Do you want to consume as this way ?(Y/N)");
		char ch;
		do
		{
			ch=getch();
			if(ch=='Y'||ch=='y'||ch=='N'||ch=='n')
			{
				if(ch=='Y'||ch=='y')
				{
					_count=count;
					return true;
				}
				else
				{
					return false;
				}
			}
			else continue;
		}while(1);
	}
	return true;
}
/*******************************************************************************/
/*money合法性验证                                                              */
/*******************************************************************************/
bool CMyString::CheckMoney(string &money)
{
	RemoveLeftBlank(money);
	RemoveRightBlank(money);
	int len=money.length();
	int tip=0;
	if(len==0)
	{
	//	CMessageBox::ShowMessage("Input cannot be null !");
		return false;
	}
	else
	{
		for(int i=0;i<len;i++)
		{
			if(isdigit(money[i])||money[i]=='.'||money[0]=='-')
			{
				if(money[i]=='.')
					tip++;
			}
			else
			{
				CMessageBox::ShowMessage("Input must be digit for float !");
				return false;
			}
		}
		if(tip>1)
		{
			CMessageBox::ShowMessage("Input must be digit for float !");
			return false;
		}
		else
		{
			return true;
		}
	}
}
/************************************************************************/
/* 字符串转换为整型                                                     */
/************************************************************************/
int CMyString::StrToInt(string str)
{
	int istr=atoi(str.c_str());
	return istr;
}
/************************************************************************/
/* 字符转换为整型                                                     */
/************************************************************************/
int CMyString::CharToInt(char ch)
{
	char str[3];
	str[0]=ch;
	int istr=atoi(str);
	return istr;
}
/************************************************************************/
/* 字符串转换为浮点型                                                   */
/************************************************************************/
float CMyString::StrToFloat(string str)
{
	float fstr=atof(str.c_str());
	return fstr;
}
/************************************************************************/
/* 浮点型转换为字符串                                                   */
/************************************************************************/
string CMyString::FloatToStr(float f)
{
	string str;
	char chr[100];
	sprintf(chr,"%.2f",f);
	str=chr;
	return str;
}
/************************************************************************/
/* 整型型转换为字符串                                                   */
/************************************************************************/
string CMyString::IntToStr(int i)
{
	string str;
	char chr[100];
	sprintf(chr,"%d",i);
	str=chr;
	return str;
}
/************************************************************************/
/* 日期比较                                                             */
/************************************************************************/
int CMyString::DateCompare(string date1,string date2)
{
	
	int result=0;
	vector<int> a,b;
	GetYMDformDate(date1,a);
	GetYMDformDate(date2,b);
	for(int i=0;i<3;i++)
	{
		if(a[i]==b[i])
			continue;
		else 
		{
			result=a[i]-b[i];
			break;
		}
	}
	return result;
}
/************************************************************************/
/* 从日期中提取年月日                                                   */
/************************************************************************/
bool   CMyString::GetYMDformDate(string date,vector<int>& a)
{
	char temp[10];
	int tempdate=0;
	int len=date.length();
	for (int i=0,j=0;i<10;i++)
	{
		if (date[i]=='-')//2000-2-2
		{
			temp[j]='\0';
			j=0;
			tempdate=atoi(temp);
			a.push_back(tempdate);
			continue;
			
		}
		else if (date[i]!='-')
		{
			temp[j]=date[i];
			j++;
			if (i==len-1)
			{
				temp[j]='\0';
				tempdate=atoi(temp);
				a.push_back(tempdate);
			}
			continue;
		}
	}
	return true;
}

/************************************************************************/
/*文件名合法性验证                                                      */
/************************************************************************/
bool CMyString::CheckFileName(string &filename)
{
	RemoveAllBlank(filename);
	for(int i=0;i<filename.length();i++)
	{
		if(filename[i]=='/')
			filename[i]='\\';
	}
	if(filename[i-1]!='\\')
		filename+="\\";
	RemoveMiddleBias(filename);//去除多余的反斜杠
	string setFilename=",*|><;?.";
	string setPathname="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ /\\";
	int first;
	first=filename.find_first_of(setFilename);
	if (first!=string::npos)
	{
		CMessageBox::ShowMessage("Path cannot have< , . * | > < ; ? >");
		return false;
	}
	return true;

}
/************************************************************************/
/* 盘符合法性验证                                                       */
/************************************************************************/
bool CMyString::CheckDiskName(string &pathName)
{
	string path=pathName;
	int drive, curdrive;
	RemoveLeftBlank(pathName);
	RemoveRightBlank(pathName);
	RemoveMiddleBlank(pathName);
	
	if(path[1]==':')//说明有盘符
	{
		curdrive=_getdrive(); //先将原来工作盘符保存
		if (islower(path[0]))
			drive=path[0]-'a'+1; 
		else
			drive=path[0]-'A'+1;
		if(_chdrive(drive)==-1 )//盘符不存在情况
			return false;
		_chdrive(curdrive) ;
	}
	return true;	
}
/************************************************************************/
/*创建文件夹                                                            */
/************************************************************************/
bool CMyString::CheckFoundFiles(string &pathname)//pathname是已验证过的
{
	int i;
	char s[50]={0};
	if(access(pathname.c_str(),0)==0)
		return true;
	sprintf(s,"mkdir %s",pathname.c_str());
	i=system(s);//创建路径名为pathname文件夹
	if (i)
	{
		return false;
	}
	return true;
}














⌨️ 快捷键说明

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