我的程序应该计算物品的价格(如果物品购买10件或更多物品,则客户可以从物品的正常价格中获得折扣)。除int Product::fulfillOrder(int orderq)
函数外,它一切正常。它表示必须返回一个值,但orderq
应返回一个值以供函数使用(我相信我做得对)。这是问题函数的代码:
int Product::fulfillOrder(int orderq)
{
if (orderq < 0)
{
cout << "Error" << endl;
orderq = 0;
cout << "Shipped: " << orderq << endl;
}
else if (orderq <= Quantity)
{
orderq = Quantity;
Quantity -= orderq;
cout << "Shipped: " << orderq << endl;
}
else
{
orderq = Quantity;
orderq = 0;
cout << "Shipped: " << orderq << endl;
}
}
答案 0 :(得分:1)
我认为你需要添加
return orderq;
在功能结束时。
答案 1 :(得分:0)
缺少return语句。如果你想返回一个int,你必须返回你需要的东西。 我在你的代码中看到的是,无论条件是什么,你都将输入参数设置为0。 您必须检查输入是否大于0,因为如果订单小于0则没有意义。这是不可能的。 这意味着为什么要检查订单是否低于零?没有意义,检查它是否更大,以便进入微积分。
当输入为-1时,两个第一个'if'语句为真。你也在做类似的事情:
orderq = Quantity
Quantity = orderq
如果要交换值,则需要第三个辅助变量,但需要分析代码以及需要执行的操作。您需要先在纸上解决问题。然后编码。
祝你好运!