一个字母数字混号的处理
#include "stdafx.h"
#include <iostream>
using namespace std;
bool HandleChar(char* element,char heightElement)
{
char tmpElement = *element;
if (tmpElement >='A' && tmpElement <='Z')
{
if (++tmpElement<='Z')
{
*element=tmpElement;
return true;
}
else
{
*element='0';
return false;
}
}
else
{
if (++tmpElement<='9')
{
*element=tmpElement;
return true;
}
else
{
if (heightElement=='Z')
{
*element='A';
return true;
}
else
{
*element='0';
return false;
}
}
}
}
bool PlusStr(char* str)
{
int strLen=strlen(str)-1;
for (int i=strLen;i>=0;i--)
{
if (i==0)
{
if (!HandleChar(&str[i],'Z')) return false;
}
else if (HandleChar(&str[i],str[i-1])) break;
}
return true;
}
int _tmain(int argc, _TCHAR* argv[])
{
char str[]="0001";
//TO UPPER FIRST THEN CALL
while(PlusStr(str))
{
cout<<str<<endl;
}
system("pause");
return 0;
}
浙公网安备 33010602011771号