网站大量收购独家精品文档,联系QQ:2885784924

控制台下C++编写的一个电子日历.doc

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

#include iostream using namespace std; //Date类的定义 class Date { public: Date(){year=0;month=0;day=0;} ??? void Display();//输出函数声明 ??? void AddOneDay();//加一天函数声明 ??? void SetDay();//设置日期函数声明 friend bool Legal(int y, int m, int d);//声明判断日期是否合法函数为友元函数,因为成员函数调用了该函数 protected: ? int year; ? int month; ? int day; }; //============================================= void Date::Display() { ? cout day / month /? year endl; } //============================================ void Date::AddOneDay() { ? if(Legal(year,month,day+1)) ??? day++; ? else if(Legal(year,month+1,1)) ??? month++,day=1; ? else if(Legal(year+1,1,1)) ??? day=1,month=1,year++; } //======================================= void Date::SetDay() { int y; int m; int d; cout请输入年 月 日,中间用空格隔开:; cinymd; while(!Legal(y,m,d)) { ? cout您输入的日期不合法,请重新设置:; ? cinymd; } ??? ???? year=y; ? month=m; ? day=d; } //=========================================== bool Legal(int y, int m, int d) { ? if(y9999||y1||d1||m1||m12) ??? return false; ? int dayLimit=31; ? switch(m) ? { ? case 4:? ? case 6:? ? case 9:? ? case 11:? ?? dayLimit--; ? } ? if(m==2) dayLimit = ((y%4==0y%100!=0)||y%400==0) ? 29 : 28; ? return (ddayLimit)? false : true; } //================================================= void IsLeapYear() { int y; cout请输入要判断的年份:; ciny; if((y%4==0y%100!=0)||y%400==0) ? couty? 是闰年endl; else ? couty? 不是闰年endl; } //=============================================== void Week()// 基姆拉尔森计算公式 { int y; int m; int d; ??? cout请输入年 月 日,中间用空格隔开:; ??? cinymd; while(!Legal(y,m,d)) { ? cout输入日期不合法!请重新输入日期:; ???? cinymd; } ??? if((m==1)||(m==2)) { ? m+=12;? ??????? y--;? }? ? int week= int(((d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)+1)%7);? ? switch(week) ? { ? case 0: ?? cout今天是星期日endl;break; ? case 1: ?? cout今天是星期一endl;break; ? case 2: ?? cout今天是星期二endl;break; ? case 3: ?? cout今天是星期三endl;break; ? case 4: ?? cout今天是星期四endl;break; ? case 5: ?? cout今天是星期五endl;break; ? case 6: ?? cout今天是星期六endl;break; ?? ? } ??????? } //=======================================

文档评论(0)

cgtk187 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档