3

我的代码有问题。它符合要求,但我的 int week 和 int days 没有正确更新,并返回到最初分配它们的值 0。我是一个非常新手的程序员,这段代码只是我正在尝试编写的另一个代码片段。感谢您的任何帮助?编辑:另外,我不得不通过重写 basic_order int 来返回天数,这是超级低效的,但我不知道该怎么做。

这是我的代码。

#include <iostream>

using namespace std;

int BasicMakespan(int &basic_order)

{
    int shirts_left, days, weeks;
    days = 0;
    weeks = 0;
    shirts_left = basic_order - 1000;
    while (shirts_left >= 0)
    {
        shirts_left = shirts_left - 1000;
        days = days + 1;
        if (days == 6)
        {
            days = 0;
            weeks = weeks + 1;
        }
    }
    basic_order = weeks;
    return days;
}

int main ()
{
    int basic_order;
    cin >> basic_order;
    BasicMakespan ( basic_order );
    cout << BasicMakespan << " " << basic_order << endl;
}
4

1 回答 1

3

也许你的意思是这样写:

int main ()
{
    int basic_order;
    cin >> basic_order;
    int result = BasicMakespan ( basic_order );
    cout << result << " " << basic_order << endl;
}

? 因为您的代码当前正在打印 的地址BasicMakespan,而不是它返回的结果。

于 2013-09-16T23:29:21.290 回答