为了账号安全,请及时绑定邮箱和手机立即绑定

求解释,关于下面这段程序中的flag作用是什么?不是很理解!

求解释,关于下面这段程序中的flag作用是什么?不是很理解!

HUWWW 2021-07-05 14:10:07
ifstream inData("pbook.txt",ios::in);bool flag = true;string record;while (getline(inData, record)){if (flag){cout <<endl <<"所有联系人信息如下: "<<endl;}cout <<record <<endl;flag = false;}if (flag){cout <<endl <<"你的通迅录中没有联系人!!!!!" <<endl <<endl;}else{cout <<endl <<"所有联系人已经全部显示出来!!!!!" <<endl <<endl;}system("pause");}
查看完整描述

2 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

flag 是一个bool类型的变量,bool只有两个成员true和false
if(flag)即当flag==true时条件成立,进入if函数,执行语句
你不见在while()里面的最后把flag置成了false了,
当flag==false时,if(flag)的条件就不成立了,进不了函数

查看完整回答
反对 回复 2021-07-11
?
RISEBY

TA贡献1856条经验 获得超5个赞

是为了将提示文字只显示一遍。
如果通讯录里有数据,“所有联系人信息如下”会被恰好显示一遍。然后flag就设定为false,是为了在下次执行循环时不再显示这一行。
flag还有个作用,如果通讯录有数据,flag就一定会被设为false。因为如果没数据,就不会执行循环,flag不会被设置为false。这样就可以决定是显示“你的通迅录中没有联系人”还是“所有联系人已经全部显示出来”了。

查看完整回答
反对 回复 2021-07-11
  • 2 回答
  • 0 关注
  • 376 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信