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

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");
}

HUWWW
浏览 378回答 2
2回答

慕妹3146593

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

RISEBY

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