这个程序的字符串连接哪里错了啊?求指出
#include<iostream>#include<string>
using namespace std;
string strname,strpwd;
bool Find_char(string str)//字符的查找
{
int a;
int str_len=str.length();
for(a=0;a<str_len;a++)
{
if((str[a]=='*')||(str[a]=='#')||(str[a]=='!'))
{
return false;
}
}
return true;
}
void Register(string strname,string strpwd)//用户名与密码的判断
{
int i=1;
int len_strname,len_strpwd;
while(i<=5)//用户名的判断
{
if(i==5)
{
cout<<"系统终止"<<endl;
break;
}
cout<<"请输入用户名"<<endl;
cin>>strname;
len_strname=strname.length();
if((len_strname<8)||(len_strname>64)||(Find_char(strname)==0))
{
cout<<"用户名错误(不得少于八位,不得含有*,!或#号)请重新输入!"<<endl;
}
else
{
break;
}
i++;
}
while(i<=5)//用户密码的判断
{
if(i==5)
{
cout<<"系统终止"<<endl;
break;
}
cout<<"请输入用户密码:"<<endl;
cin>>strpwd;
len_strpwd=strpwd.length();
if((len_strpwd<8)||(len_strpwd>64)||(Find_char(strpwd)==0))
{
cout<<"用密码错误(不得少于八位,不得含有*,!或#号)请重新输入!"<<endl;
}
else
{
break;
}
i++;
}
}
void Cat_str(string strname,string strpwd)
{
strname.append(1,'#');
strname +=strpwd;
cout<<strname<<endl;
}
void Show_Infortation(char str)
{
}
int main()
{
Register(strname,strpwd);
Cat_str(strname,strpwd);
return 0;
}