内部のオブジェクトが VIP かどうかに基づいてリストを表示する関数を作成しようとしています。VIP フラグが true の場合、それらのロッカーのみを表示します。false の場合は、VIP ロッカーを含むすべてのロッカーを表示します。これが私が持っているものです:
void SelfStorageList::dispLockers(bool vipOnly) {
if (vipOnly) {
for(LockerNode *p = head; p !=0; p = p->next) {
if(p->objLocker.isVip) {
cout << p->objLocker.lockerId << "," << p->objLocker.renterName << "," << p->objLocker.monthlyRent << "," << p->objLocker.isVip << "," << p->objLocker.isRentOverdue << "\n";
return;
}
else {
return;
}
}
for(LockerNode *p = head; p !=0; p = p->next) {
cout << p->objLocker.lockerId << "," << p->objLocker.renterName << "," << p->objLocker.monthlyRent << "," << p->objLocker.isVip << "," << p->objLocker.isRentOverdue << "\n";
}
}
}
非常に長い行で申し訳ありません。うまくいくはずですが、さまざまな簡単なテストに基づいて、いくつかのケースを見逃すようです。誰でもアドバイスを提供できますか?条件を単純化しすぎたのでしょうか。
head はリスト内の最初のロッカーを指し、 next は次のロッカーへのポインターであることに注意してください。