gpt4 book ai didi

c++ - 显示条件有问题? (列表中的对象)

转载 作者:行者123 更新时间:2023-11-28 03:15:22 25 4
gpt4 key购买 nike

我正在尝试编写一个函数来根据其中的对象是否为 VIP 来显示列表。如果我的 VIP 标志为真,我只想显示那些储物柜。如果它是假的,我想展示每个储物柜,包括 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 是指向下一个储物柜的指针,我相信您已经猜到了。

最佳答案

由于 return 语句,第一个 for 循环最多打印 1 个元素,也就是说,如果 head 元素设置了 isVip 标志,它将打印它。然后,它会返回。

关于c++ - 显示条件有问题? (列表中的对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17076198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com