如果语句第二个条件始终执行

辫子

我有一个称为用户的结构,其中包含用户名信息:

struct User{
    string name;
    string type;
    int credit;
    bool loginState;
};

我的程序读取一个txt文件,并创建一个称为“用户”的User结构类型数组,以存储所有数据。我正在尝试创建一个删除用户的函数,因此在下面的for循环中,我正在搜索字符串

userName

在用户数组中。如果用户名存在,则该用户帐户的所有信息都存储在“用户”临时文件中。否则,将生成错误,指出用户输入的用户不存在。

string userName;
User temp;    

cout<<"Please enter a username to delete:";
cin >> userName;

for(int i=0; i<usersSize; i++){
    if((users[i].name).compare(userName) == 0){
        temp.name = users[i].name;
        temp.type = users[i].type;
        temp.credit = users[i].credit;
        temp.loginState = users[i].loginState;
    }else{
        cout << "Error: User does not exist";
    }
 }

我已经测试了我的程序,无论输入是什么,无论用户是否存在,if语句始终输出第二个条件。我怎样才能解决这个问题?

deb_rider

使用一个标志来指示该用户是否找到。

bool flag=false;
for(int i=0; i<usersSize; i++){
    if((users[i].name).compare(userName) == 0){
        temp.name = users[i].name;
        temp.type = users[i].type;
        temp.credit = users[i].credit;
        temp.loginState = users[i].loginState;
        flag=true;
        break;
    }
 }
if(!flag){
        cout << "Error: User does not exist";
}

希望能有所帮助...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果条件执行,为什么不会第二个

javascript条件不会进入第二个语句

如果第一个条件满足执行它,否则在 Oracle 中的第二个条件

“如果 cond1 或 cond2”语句未在 Python 中运行第二个条件

一个if语句中有两个条件,如果第一个条件为假,第二个条件是否重要?

IF语句忽略第二个嵌套的IF语句

MySQL触发器如果语句更新第二个表

首先,如果语句总是正确的,但第二个是不

如果答案第二个输入总是错误,如何在javascript中返回语句?

为什么第二个else if语句不执行,而是执行第一个if语句?

onTouch始终显示对第二个事件的反应

使用条件语句对第二个表中的值求和的自定义列

编译器是否优化“ for”语句中的第二个条件?

Excel:嵌套的if语句在第二个条件下不会删除空间

使用第二个文件评估awk中if语句的条件

If Else语句中如何处理第二个条件

IF-ELSE语句无法识别第二个IF条件

我是否需要在第二个if语句中指定不使用第二个变量?如果是这样,怎么办?

如果在 React 中满足条件,则调用第二个 API

如果行为空,如何使用第二个“ ON”条件与其自身联接表

第二个“如果”条件由于某种原因出现故障

如果还满足第二个条件,Excel会计算唯一值

当条件满足时,我的第二个“如果”永远不会起作用

在第二个 if 语句中循环相同的数据

不运行第二个 elseif 语句 - Powershell

卡在第二个if语句javascript中

PHP Ping工具第二个If或Else语句

第二个 svg 语句不会呈现

if elseif具有三个条件的语句,其中第二个条件在两个数字之间