一年中的剩余日子

时间:2017-03-21 23:40:28

标签: c++

我想获得一年中剩余的日子,我的代码几乎完成,但我收到错误,它给了我错误的输出。

例如(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

Output Here

1 个答案:

答案 0 :(得分:1)

您的代码看起来相当复杂。如何只添加自年度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;