C++中string数组
#include<iostream>#include<string>usingnamespacestd;intmain(){constintname=3,pass=2;s...
#include<iostream>
#include<string>
using namespace std;
int main()
{
const int name=3,pass=2;
string logname,password;
const string logged[name][pass]={
{"liming","123456"}
,{"lilei","123456"}
,{"hanmeimei","123456"}
};
cout<<"Welcome to the system!!\n\n";
do{
cout<<"Enter your logname:"<<endl;
cin>>logname;
cout<<"Enter your password:"<<endl;
cin>>password;
if(logname!=logged[name][pass]||password!=logged[name][pass])
cout<<"Please enter again.\n";
if(logname==logged[name][pass]&&password==logged[name][pass])
break;
}while(logname!=logged[name][pass]||password!=logged[name][pass]);
cout<<"You enter the system!\n";
return 0;
我想判断一下用户名密码是否符合数组里面的元素 到底应该怎么做呢?求大神指点 展开
#include<string>
using namespace std;
int main()
{
const int name=3,pass=2;
string logname,password;
const string logged[name][pass]={
{"liming","123456"}
,{"lilei","123456"}
,{"hanmeimei","123456"}
};
cout<<"Welcome to the system!!\n\n";
do{
cout<<"Enter your logname:"<<endl;
cin>>logname;
cout<<"Enter your password:"<<endl;
cin>>password;
if(logname!=logged[name][pass]||password!=logged[name][pass])
cout<<"Please enter again.\n";
if(logname==logged[name][pass]&&password==logged[name][pass])
break;
}while(logname!=logged[name][pass]||password!=logged[name][pass]);
cout<<"You enter the system!\n";
return 0;
我想判断一下用户名密码是否符合数组里面的元素 到底应该怎么做呢?求大神指点 展开
4个回答
展开全部
可以按照你的定义,因为string并不是c++的基本数据类型。它是标准库里声明的一个字符串类。
string str[10]; //定义一个字符串数组str
显示的是 i love you
扩展资料:
编译 & 执行 C++ 程序方法:
1、打开vs2010,选择"visual c++开发设置",然后点击"启动Visual Studio"。
2、"Visual Studio"选择默认环境设置。
3、进入"Visual Studio"后点击新建项目。
4、在弹出窗口选择 Visual C++标签下的空项目,输入名称以及保存位置。
5、在左侧的"解决方案资源管理器"中,选择"源文件"右击,然后选择"添加"->"新建项"。
6、在弹出窗口中,选择"C++文件(.cpp)",输入文件名称,单击"添加"。
7、现在输入具体的代码,例如输入简单的Hello World程序。
8、依次单击"调试"->"开始执行(不调试)"或按Ctrl+F5开始运行。
推荐于2016-07-27
展开全部
你的判断方法错误,不建议有用二位数组;
#include <iostream>
#include <string>
using namespace std;
class User
{
public:
User(const string& name = "", const string& passwd = "")
{
m_name = name;
m_passwd = passwd;
}
~User(){}
bool IsRight(const string& name, const string& passwd)
{
return (name == m_name) && (passwd == m_passwd);
}
private:
string m_name;
string m_passwd;
};
int main()
{
User use[3] = {User("zhao", "123"), User("qian", "234"), User("sun", "345")};
string str[2];
while(1)
{
cout << "请输入用户名和密码:" << endl;
cin >> str[0] >> str[1];
int j;
for(j = 0; j != 3; ++j)
{
if (use[j].IsRight(str[0], str[1]) )
{
cout << "你成功进入系统" << endl;
break;
}
}
if ( j != 3)
{
break;
}
}
getchar();
return 0;
}
#include <iostream>
#include <string>
using namespace std;
class User
{
public:
User(const string& name = "", const string& passwd = "")
{
m_name = name;
m_passwd = passwd;
}
~User(){}
bool IsRight(const string& name, const string& passwd)
{
return (name == m_name) && (passwd == m_passwd);
}
private:
string m_name;
string m_passwd;
};
int main()
{
User use[3] = {User("zhao", "123"), User("qian", "234"), User("sun", "345")};
string str[2];
while(1)
{
cout << "请输入用户名和密码:" << endl;
cin >> str[0] >> str[1];
int j;
for(j = 0; j != 3; ++j)
{
if (use[j].IsRight(str[0], str[1]) )
{
cout << "你成功进入系统" << endl;
break;
}
}
if ( j != 3)
{
break;
}
}
getchar();
return 0;
}
追问
我们还没有学类 ,所以不会用这个
~User(){}
bool IsRight(const string& name, const string& passwd)
{
return (name == m_name) && (passwd == m_passwd);
}
这些是什么意思呢?
追答
那我就说关键的吧:
while(1)
{
输入:name passwd
for(int i = 0; i < 3; ++i)
{
if ((logged[i][0] == name) && (logged[i][1] == passwd))
{
cout << "进入系统" << endl;
return 0; //或者其他方式退出双重循环,如果要做失败的判断自己修改。你错误的关键就是两个等号的判断
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好像没有string数组的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for 每个元素,判断用户名和密码是否同时相等
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询