我的函数没有返回值

My function isn't returning a value

本文关键字:返回值 函数 我的      更新时间:2023-10-16

我的程序应该计算商品的价格(如果客户购买 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;
}
}

我认为您需要添加

退货单q;

在函数的末尾。

return 语句丢失。如果你想返回一个int,你必须返回你需要的东西。 我可以在您的代码中看到的是,无论条件是什么,您都将输入参数设置为 0。 您必须仅检查输入是否大于 0,因为如果顺序小于 0,则没有意义。不可能的事情。 这意味着为什么要检查订单是否低于零?没有意义,检查它是否更大才能进入微积分。

当输入为 -1 时,前两个"if"语句为真。您也在做以下操作:

orderq = Quantity
Quantity = orderq

如果要交换值,则需要第三个辅助变量,但要分析代码和需要执行的操作。您需要先在纸上解决问题。然后编码它。

祝你好运!