给定某个年月日,计算出这天属于该年的第几天.要就写出计算闰年的函数和计算日期函数.用C++

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/27 06:36:55
给定某个年月日,计算出这天属于该年的第几天.要就写出计算闰年的函数和计算日期函数.用C++给定某个年月日,计算出这天属于该年的第几天.要就写出计算闰年的函数和计算日期函数.用C++给定某个年月日,计算

给定某个年月日,计算出这天属于该年的第几天.要就写出计算闰年的函数和计算日期函数.用C++
给定某个年月日,计算出这天属于该年的第几天.要就写出计算闰年的函数和计算日期函数.
用C++

给定某个年月日,计算出这天属于该年的第几天.要就写出计算闰年的函数和计算日期函数.用C++
bool IsLeapYear(int nYear)
{
if (0 > nYear)
return false;
if (nYear%100 == 0)
{//400
return (nYear%400 == 0);
}
return (nYear%4 == 0);
}
int GetNormalIndex(int nMonth,int nDay)
{
int nRet = nDay;
if (nMonth > 1)
nRet += 31;
if (nMonth > 2)
nRet += 28;
if (nMonth > 3)
nRet += 31;
if (nMonth > 4)
nRet += 30;
if (nMonth > 5)
nRet += 31;
if (nMonth > 6)
nRet += 30;
if (nMonth > 7)
nRet += 31;
if (nMonth > 8)
nRet += 31;
if (nMonth > 9)
nRet += 30;
if (nMonth > 10)
nRet += 31;
if (nMonth > 11)
nRet += 30;
return nRet;
}
int GetDayIndex(int nYear,int nMonth,int nDay)
{
bool bIsLeapYear = IsLeapYear(nYear);
int nRet = GetNormalIndex(nMonth,nDay);
return bIsLeapYear?nRet+1:nRet;
}