我想获得一年中剩余的日子,我的代码几乎完成,但我收到错误,它给了我错误的输出。
例如(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
答案 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;