注册 登录
编程论坛 C++教室

这个程序的字符串连接哪里错了啊?求指出

千里之外W 发布于 2013-11-02 15:15, 451 次点击
#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;
}
1 回复
#2
yuccn2013-11-04 12:20
void Register(string strname,string strpwd)改成void Register(string &strname,string &strpwd)吧
1