网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
日期类

题目描述: 自定义一个简单的日期类DateType,它具有数据成员y、m、d,用来表示当前日期的年、月、日。而后设计该类欲实现(完成)的功能,进而设计出相应的类成员函数。 设想功能: 计算某天为星期几 计算两个日期之间有多少天间隔 对一个日期一次增加几天,获得增加后日期 根据出生日期判断星座 自动获得计算机当前时间,根据输入生日判断已经活了多少天 问题解决思路: 根据1年1月1日是星期一的事实,求出一个日期与1年1月1日之间的间隔,将此间隔模除7即可得到星期几 求出两个日期分别与1年1月1日的间隔,然后取两个间隔之差的绝对值,可以得到这两个日期之间的间隔 对一个日期一次增加几天,先根据每月的天数判断是否要向月进位,再根据月份判断是否要向年进位 获得日期后分别与每个星座的日期范围相比较,符合范围即属于这个星座 利用相关函数提取计算机当前系统时间,然后分别得到现在的年月日,计算这个时间与生日的差,这样就可以得到从出生到现在总共生活了多少天 函数设计: void incrementday();//一次增加几天后获得日期 int gettotalday();//计算该日期与1年1月1日之间有多少天 void whichday();//计算某天为星期几 void getdata();//输入日期,当输入错误数据时报警并要求重新输入 void printDate();//输出日期 void constellation();//根据出生日期判断星座 int nowtotalday();//自动获得计算机当前时间,并且计算出与1年1月1日的差,用于根据您输入的生日判断您活了多久 此外还需要定义一个数组存放每个月的天数dayofmonth[12]={31,28,31,30,31,30,31,31,30,31,30,31}; 时间类 class DataType { private: int y,m,d; //数据成员,表示当前日期的年、月、日 int totalday; //表示该日期与1年1月1日的差 public: void incrementday(); int gettotalday(); void whichday(); void getdata(); void printDate(); void constellation(); int nowtotalday(); }data1,data2; 主函数中利用while循环控制程序能多次运行,用switch语句控制用户的选择 Main() {介绍程序功能 是否开始程序 输出功能列表 转入不同功能模块 是否继续 } 计算星期几:case 1:data1.getdata(); //输入日期 data1.gettotalday(); //计算该日期与1年1月1日的差 data1.printDate(); //输出日期 data1.whichday(); /计算并输出该日期是星期几 break; 计算两日期间隔:case 2:cout输入第一个日期:endl; data1.getdata(); //输入第一个日期 data1.gettotalday(); //计算该日期与1年1月1日的差 data1.printDate(); //输出第一个日期 cout输入第二个日期:endl; data2.getdata(); //输入第二个日期 data2.gettotalday(); //计算该日期与1年1月1日的差 data2.printDate(); //输出第二个日期 int m; m=data2.gettotalday()-data1.gettotalday();//计算两日期之间的差 if (m=0) cout 两个日期之间有m天 endl;//日期一在日期二之前 else {m=-m;cout 两个日期之间有m天 endl;} //如果日期一在日期二之后 break; 对一个日期一次增加几天,获得增加后日期 case 3:cout输入您要增加的日期:endl; data1.getdata(); //输入日期 data1.printDate(); //输出日期 data1.incrementday();//计算增加几天后的日期 break; 判断星座 case 4:cout星座是按照公历日期判断的,输入您的阳历生日:endl; data1.getdata(); //输入日期 data1.constellation

文档评论(0)

牛X文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档