C++实现简易万年历
本文实例为大家分享了C++实现简易的万年历,供大家参考,具体内容如下
代码如下:
/* *文件名称:万年历.cpp *作者:chenghan *完成日期:2019/1/10 *版本号:1.0 *问题描述:制作一个简单的万年历 */ #include#include usingnamespacestd; //判断一年是否为闰年,是返回true否返回false boolisleapyear(intyear); //兔子图案 voidRabbit(); //封装时间类私有数据成员包括年月日 classDate { private: intyear,month,day;//私有数据成员 public: Date(){}//无参的构造函数 Date(intyear,intmonth,intday);//有参的构造函数 voidDisp_Date();//显示星期数 voidset();//用户输入时间 intweek();//判断星期的函数 voidshow();//显示日历的函数 }; //主函数 intmain() { Datet;//创建一个Date类对象 stringN="yes"; Rabbit(); while(N=="yes"){ t.set();//调用设置时间函数 t.Disp_Date();//显示星期 t.show();//展示日历画面 cout<<"\n是否继续查询,是(yes)否(no)\n"; cin>>N; } return0; } //判断一年是否为闰年,是返回true否返回false boolisleapyear(intyear) { if((year%4==0&&year%100!=0)||year%400==0) returntrue; else returnfalse; } //兔子图案 voidRabbit() { cout< year=year; this->month=month; this->day=day; } //显示星期数 voidDate::Disp_Date(){ cout< week()){ case0: cout<<"日\n"; break; case1: cout<<"一\n"; break; case2: cout<<"二\n"; break; case3: cout<<"三\n"; break; case4: cout<<"四\n"; break; case5: cout<<"五\n"; break; case6: cout<<"六\n"; break; } } //用户设置时间 voidDate::set() { cout<<"请输入您所想要查找的年、月、日:"; cin>>year>>month>>day; } //判断星期的函数 intDate::week(){ intC,y,d,M; if(this->month==1||this->month==2){ C=(this->year-1)/100; y=(this->year-1)%100; M=this->month+12; d=this->day; } else{ C=this->year/100;//C世纪数减一 y=this->year%100;//y年份后两位 d=this->day;//d是日 M=this->month; } intW=C/4-2*C+y+y/4+13*(M+1)/5+d-1;//判断星期的蔡勒公式 if(W<0)/*如果w是负数,则计算余数方式不同*/ { W=7-(-W)%7; returnW;//返回值1~6对应星期一到六0对应七 } elsereturnW%7; } //显示日历的函数 voidDate::show(){ Datetemp; temp.year=this->year; temp.month=this->month; temp.day=1; intcount=temp.week(); cout<<"---------------------------------------------------"< year<<"年"< month<<"月"<<"---------------------\n"; cout<<"日一二三四五六\n"; for(inti=0;i year)){ for(intj=1;j<30;j++){ if(j<10)cout<<""< 运行结果:
代码中没有检查输入错误的机制,写的比较粗糙,有许多错误之处望指正。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。