
哪位高手帮帮忙啊,用C++写一个程序,内容如下:
构造一个类Date,该类主要实现日期的基本操作,例如初始化(非构造函数)、求当前日期为星期几、两个日期之间的相差天数、输出等,具体说明如下:该类拥有三个私有(或保护)成员...
构造一个类Date,该类主要实现日期的基本操作,例如初始化(非构造函数)、求当前日期为星期几、两个日期之间的相差天数、输出等,具体说明如下:
该类拥有三个私有(或保护)成员变量year、month、day,分别代表日期中的年、月、日,成员函数有初始化函数、判断该念份是否为闰年函数、求当前日期为星期几函数、当前日期与给定日期之间相差的天数函数(可以用自己的生日进行比较),结果输出函数等。
其中:
判断某一年是否为闰年的算法:
该年份数字能被4整除但不能被100整除,或者能被4整除同时可被400整除,则为闰年
求当前日期为星期几的算法:
(1)0001年1月1日为星期一,可以计算从该天到当前日期的天数,然后除7求余,如余1则为星期一
(2)if(month==1||month==2) { year -=1; month +=12; }
return (day+1+2*month+3*(month+1)/5+year+(year/4)-year/100+year/400)%7;
给定日期与当前日期相差的天数算法:
可以用循环实现,注意闰年的情况。
要快点哦,16号18点前要哦 展开
该类拥有三个私有(或保护)成员变量year、month、day,分别代表日期中的年、月、日,成员函数有初始化函数、判断该念份是否为闰年函数、求当前日期为星期几函数、当前日期与给定日期之间相差的天数函数(可以用自己的生日进行比较),结果输出函数等。
其中:
判断某一年是否为闰年的算法:
该年份数字能被4整除但不能被100整除,或者能被4整除同时可被400整除,则为闰年
求当前日期为星期几的算法:
(1)0001年1月1日为星期一,可以计算从该天到当前日期的天数,然后除7求余,如余1则为星期一
(2)if(month==1||month==2) { year -=1; month +=12; }
return (day+1+2*month+3*(month+1)/5+year+(year/4)-year/100+year/400)%7;
给定日期与当前日期相差的天数算法:
可以用循环实现,注意闰年的情况。
要快点哦,16号18点前要哦 展开
6个回答
展开全部
enum eWeekDay
{
Sun=0, Mon, Tues, Wed, Thur, Fri, Sta
};
class Date
{
public:
void Inititialize( int , int ,int); //初始化
eWeekDay getWeekday(); //求当前是星期几
int operator - ( &Date ); //求相差多少天
char * resultDisplay(); //输出
Date(); //构造
~Date(); //析构
bool isLeap();
protected:
int year;
int month;
int day;
};
以上为框架!
{
Sun=0, Mon, Tues, Wed, Thur, Fri, Sta
};
class Date
{
public:
void Inititialize( int , int ,int); //初始化
eWeekDay getWeekday(); //求当前是星期几
int operator - ( &Date ); //求相差多少天
char * resultDisplay(); //输出
Date(); //构造
~Date(); //析构
bool isLeap();
protected:
int year;
int month;
int day;
};
以上为框架!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(ob.month==yu&&ob.day>=jin)
{
day=ob.day-jin;
}
else if(ob.month>yu)
{
for(int i=yu+1;i<ob.month;i++)
day=day+m_days[i];
day=(m_days[yu]-jin)+day+ob.day;
}
else if((ob.month<=yu&&ob.day<jin)||(ob.month<yu))
{
for(int i=1;i<ob.month;i++)
day=day+m_days[i];
day=day+ob.day;
if(ren(ob.year)==1&&ob.month>=3)
day=day+1;
for(int j=yu+1;j<=12;j++)
day=day+m_days[j];
day=day+m_days[yu]-jin;
}
{
day=ob.day-jin;
}
else if(ob.month>yu)
{
for(int i=yu+1;i<ob.month;i++)
day=day+m_days[i];
day=(m_days[yu]-jin)+day+ob.day;
}
else if((ob.month<=yu&&ob.day<jin)||(ob.month<yu))
{
for(int i=1;i<ob.month;i++)
day=day+m_days[i];
day=day+ob.day;
if(ren(ob.year)==1&&ob.month>=3)
day=day+1;
for(int j=yu+1;j<=12;j++)
day=day+m_days[j];
day=day+m_days[yu]-jin;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哎好想给你写一个哦,但我现在手上没有装C++
只装了VB和VC++,如果可以用这两种来写可以帮忙,看你也像是拿去应附老师的吧!
补充:二楼,不好意思,因为VC++里面增加了不少C++没有的东西,如果我现在倒回去写的话不能保证我写出来的能在C++上面运行。
只装了VB和VC++,如果可以用这两种来写可以帮忙,看你也像是拿去应附老师的吧!
补充:二楼,不好意思,因为VC++里面增加了不少C++没有的东西,如果我现在倒回去写的话不能保证我写出来的能在C++上面运行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上说的有点牵强了啊,难道不知道,VC++可以写c和C++吗?
不过楼主这个程序确实工作量有点大了啊,不少的C++和VC++程序设计书上都有这道题,可以自己去查着看看。。
不过楼主这个程序确实工作量有点大了啊,不少的C++和VC++程序设计书上都有这道题,可以自己去查着看看。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加上一句话,余数等于零,则是星期天
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询