ifstream inData("pbook.txt",ios::in);bool flag = true;string record;while (getline(inData, record)){if (flag){cout <<endl <<"所有聯(lián)系人信息如下: "<<endl;}cout <<record <<endl;flag = false;}if (flag){cout <<endl <<"你的通迅錄中沒有聯(lián)系人!!!!!" <<endl <<endl;}else{cout <<endl <<"所有聯(lián)系人已經(jīng)全部顯示出來!!!!!" <<endl <<endl;}system("pause");}
2 回答

慕妹3146593
TA貢獻1820條經(jīng)驗 獲得超9個贊
flag 是一個bool類型的變量,bool只有兩個成員true和false
if(flag)即當flag==true時條件成立,進入if函數(shù),執(zhí)行語句
你不見在while()里面的最后把flag置成了false了,
當flag==false時,if(flag)的條件就不成立了,進不了函數(shù)

RISEBY
TA貢獻1856條經(jīng)驗 獲得超5個贊
是為了將提示文字只顯示一遍。
如果通訊錄里有數(shù)據(jù),“所有聯(lián)系人信息如下”會被恰好顯示一遍。然后flag就設定為false,是為了在下次執(zhí)行循環(huán)時不再顯示這一行。
flag還有個作用,如果通訊錄有數(shù)據(jù),flag就一定會被設為false。因為如果沒數(shù)據(jù),就不會執(zhí)行循環(huán),flag不會被設置為false。這樣就可以決定是顯示“你的通迅錄中沒有聯(lián)系人”還是“所有聯(lián)系人已經(jīng)全部顯示出來”了。
- 2 回答
- 0 關注
- 419 瀏覽
添加回答
舉報
0/150
提交
取消