| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1722 人关注过本帖
标题:请问这段代码为什么会错?(不是编译错误,是输入时不按“套路”出牌)
只看楼主 加入收藏
root2008
Rank: 2
等 级:论坛游民
帖 子:35
专家分:31
注 册:2018-8-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
请问这段代码为什么会错?(不是编译错误,是输入时不按“套路”出牌)
源代码:
   
程序代码:
bool abs1;
    for(int i=0;i<=100;++i)
    {
        getline(fin, d[101]);        
    }
    abs1=d[101].find(s);
    if(abs1=true)
    {
        cout<<"请输入该账号对应的密码:"; 
    }
    else if(abs1=false)
    {
        cout<<"对不起,该账号未注册!2秒后前往注册页面……";
    }


用这段代码,如果用root是跳到第9行的(只有以下字符串可以),可是为什么用其他的也会跳到第9行?
Administrator
root
2020liujuanxi



[此贴子已经被作者于2018-8-15 19:50编辑过]

搜索更多相关主题的帖子: 代码 编译 错误 输入 cout 
2018-08-15 19:39
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:7 
听不懂你在说什么
但 if(abs1=true) 你是不是弄混了 == 和 =
那个else也一样
2018-08-15 22:23
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
我猜
getline(fin, d[101]);

abs1=d[101].find(s);
也是错的
我猜前者应该是 d[i],而非 d[101]
后者猜不出,但如果它是正确的,那d[0]到d[100]有什么用
2018-08-15 22:27
root2008
Rank: 2
等 级:论坛游民
帖 子:35
专家分:31
注 册:2018-8-7
收藏
得分:0 
存储字符串

string d[101];
2018-08-16 14:27
ManchesterU
Rank: 2
等 级:论坛游民
帖 子:7
专家分:17
注 册:2018-8-13
收藏
得分:7 
回复 楼主 root2008
你那个if语句有错误,++i不正确,应该是i++。
而且if语句里面不能赋值,=是赋值的意思,应该把=改成==;
表达真假是应该用非0(真)和0(假)来表达,而非true和false。
你这里是怎么判断有没有这个账号的,没有的话个个都会跳到第九行
你的代码都不全,看不懂,把所有代码发出来才好。
2018-08-16 16:24
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
以下是引用root2008在2018-8-16 14:27:30的发言:

存储字符串
 
string d[101];

你说这话有什么用?别人依然不知道你想实现什么功能

你不肯说,那我猜猜
程序代码:
#include <string>
#include <vector>
#include <fstream>
#include <algorithm>
#include <iostream>
using namespace std;

int main (void)
{
    // 输入帐号
    string s;
    getline( cin, s );

    // 载入所有已注册的帐号
    vector<string> users;
    {
        ifstream fin( "users.txt" );
        for( string user; getline(fin,user); )
            users.push_back( user );
    }

    // 检查 输入账号 是否存在于 已注册的帐号 中
    if( find(users.begin(),users.end(),s) != users.end() )
        cout << "请输入该账号对应的密码: ";
    else
        cout << "对不起,该账号未注册!2秒后前往注册页面……";
}

2018-08-16 16:46
快速回复:请问这段代码为什么会错?(不是编译错误,是输入时不按“套路”出牌) ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016045 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved