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;

我想判断一下用户名密码是否符合数组里面的元素 到底应该怎么做呢?求大神指点
展开
 我来答
yihla5739
高粉答主

2018-12-04 · 每个回答都超有意思的
知道答主
回答量:149
采纳率:100%
帮助的人:4.7万
展开全部

可以按照你的定义,因为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;
}
追问
我们还没有学类  ,所以不会用这个
~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; //或者其他方式退出双重循环,如果要做失败的判断自己修改。你错误的关键就是两个等号的判断

}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Rankabc
2014-05-06 · TA获得超过3561个赞
知道大有可为答主
回答量:3705
采纳率:59%
帮助的人:1068万
展开全部
好像没有string数组的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fd81a8bce
2014-05-06 · TA获得超过215个赞
知道答主
回答量:37
采纳率:0%
帮助的人:39.9万
展开全部
for 每个元素,判断用户名和密码是否同时相等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式