C++ 一年中的剩余天数

C++ 一年中的剩余天数,c++,C++,我想得到一年中剩下的几天,我的代码几乎完成了,但我得到了错误,它给了我错误的输出 例如(mm dd yy)3-18-2013,产量假设为288,但我的产量为275 这里只是我的一些代码 void dateType::Num_RemainingYear() { int yy=365; int sum; if(month==0) { day=0; cout<<"Num

我想得到一年中剩下的几天,我的代码几乎完成了,但我得到了错误,它给了我错误的输出

例如(mm dd yy)3-18-2013,产量假设为288,但我的产量为275

这里只是我的一些代码

void dateType::Num_RemainingYear()
    {
        int yy=365;
        int sum;

        if(month==0)
        {
            day=0;
            cout<<"Number of days Remaining in the year: "<<day<<endl;
        }


         else if (month ==1)
        {
            day=31;
            sum=yy-day;

            cout<<"Number of days Remaining  in the Year: "<<sum<<endl;

        }...until 12
void dateType::Num\u RemainingYear()
{
int yy=365;
整数和;
如果(月份==0)
{
日=0;

cout你的代码看起来相当复杂。把1.1年以来的所有日子加起来,从365/366中减去,怎么样

如果没有lep年,情况如下:

int daysPassed = 0;
for (int i = 1; i < month; i++) {
    if (i == 2)
        daysPassed += 28;
    else if (i < 8 && i % 2 == 1)
        daysPassed += 31
    else if (i < 7)
        daysPassed += 30;
    else if (i % 2 == 0)
         daysPassed += 31;
    else
         daysPassed += 30;
}
daysPassed += day;
int daysPassed=0;
对于(int i=1;i
指向代码的链接或解释问题所必需的任何内容都是一个坏主意,因为当链接失效时,问题就变得无用了。使用几乎可以肯定随开发环境附带的调试器逐步完成代码(如果您的开发环境是少数没有调试器的环境之一,请升级)直到你看到程序没有达到你的预期。然后找出为什么它没有达到你的预期。要做的研究:time(0),'localtime_r',和“struct tm”。标记为C++:如果你提供“只是一些代码”,你可以得到“只是一些答案”,请参阅std::time()“。您显示的代码足以得出结论,您选择了一种非常糟糕的解决问题的方法。但还不足以识别您的所有错误。例如,
month
从何而来?但是,我建议,如果您将日期参数传递给您的方法,则测试起来会容易得多。”“一年中不同日期的天数”(无论当前日期是什么)。这是我唯一能想到的方法。只需查看过去的每个月并将天数加在一起。从365/366中减去最终值,就完成了。快速简单。因此我不明白你的意思,可以给我一个代码快照吗?我必须坚持修改我的代码(if-else语句)或创建新代码?