if (...) //enough for promo
{
if (...) //accept offer
**promo sequence**
else (...) //doesn't accept offer (regular purchase)
**regular sequence**
}
else (...) //not enough for promo
**regular sequence**
我还是编程新手。我被赋予了在循环中编写程序的任务。顾客可以购买邮票。如果他有足够的邮票,他就可以获得免费物品。但是,如果他否认要约,则成为常规购买,邮票数量进一步增加。我成功地编写了工作程序(虽然它很长),如果它有帮助我可以将它粘贴在这里。
问题是:如果客户不接受报价(而不是重写常规序列),我可以以某种方式进入常规序列吗?
谢谢!
答案 0 :(得分:2)
您是否尝试过合并两次if-checks?如果您反对为promo sequence
和regular sequence
创建函数,则可以将if语句的逻辑组合到一个组合的检查中:
if (... && ...) //enough for promo and accept offer
**promo sequence**
else //not enough for promo or doesn't accept offer (regular purchase)
**regular sequence**
答案 1 :(得分:1)
有几种选择。如frslm建议的那样,你可以把它变成单一的。有时,提供和接受促销的逻辑太难以放入单个if语句中。在这种情况下,您可以使用bool作为标志,指示促销是否被接受:
bool accepted_promo = false;
if (...) //enough for promo
{
** steps to offer and accept a promo offer **
if (...) //accept offer
{
**promo sequence**
accepted_promo = true;
}
}
if (!accepted_promo)
**regular sequence**