C万年历源代码C万年历源代码
#include
#include
using namespace std;
class Date
{
private:
int year;
int month;
int day;
int monthDay[12];
public:
Date(int y=1, int m=1, int d=1):year(y),month(m),day(d)
{
monthDay[0]=31;
monthDay[1]=28;
monthDay[2]=31;
monthDa...
C万年历源代码
#include
#include
using namespace std;
class Date
{
private:
int year;
int month;
int day;
int monthDay[12];
public:
Date(int y=1, int m=1, int d=1):year(y),month(m),day(d)
{
monthDay[0]=31;
monthDay[1]=28;
monthDay[2]=31;
monthDay[3]=30;
monthDay[4]=31;
monthDay[5]=30;
monthDay[6]=31;
monthDay[7]=31;
monthDay[8]=30;
monthDay[9]=31;
monthDay[10]=30;
monthDay[11]=31;
}
void SetYear(int y) { year=y; }
void SetMonth(int m) { month=m; }
void SetDay(int d) { day=d; }
int GetYear() const { return year; }
int GetMonth() const { return month; }
int GetDay() const { return day; }
int GetMonthDay(const int i)
{
if(i==2&&Isleapyear(year))
return 29;
return monthDay[i-1];
}
bool Isleapyear(int y) // 判断是否为闰年。
{
return ((y%4==0 && y%100!=0)||(y%400==0));
}
int GetYearDays(int y) // 年份 y的天数。 {
if(Isleapyear(y))
return 366;
return 365;
}
int DateToNum() // 给定日期,返回天数。 {
int sum=0;
int i=0;
for(i=1;i=GetYearDays(d.year);d.year++)
n-=GetYearDays(d.year);
if(Isleapyear(d.year))
monthDay[1]=29;
else
monthDay[1]=28;
for(;n>=monthDay[d.month];d.month++)
n-=monthDay[d.month];
d.day=n;
return d;
}
void OutputYearDate(int y) // 给定年份 y,输出年份 y的
日历。
{
if(y<=0)
return;
int i=0;
int j=0;
Date d;
d.year=y;
d.day=1;
cout<>choose;
while (getchar()!='\n');
if(!cin)
{
cin.clear();
cin.sync();
cout<<"输入错误";
system("pause");
system("cls");
continue;
}
switch(choose)
{
case '1':
cout<<"输入年:"; cin>>number;
d.SetYear(number); if(d.GetYear()<=0)
{
cout<<"输入年份有错,返回。"<>number; d.SetYear(number);
if(d.GetYear()<=0)
{
cout<<"输入年份有错,返回。"<>number; d.SetYear(number);
cout<<"输入月:";
cin>>number;
d.SetMonth(number);
cout<<"输入日:"; cin>>number;
d.SetDay(number);
if(d.GetYear()<=0||d.GetMonth()>12||d.GetMonth()<1||d.GetDay()<1||d.GetDay()
>d.GetMonthDay(2))
{
cout<<"输入有误,返回。"<>number; d.SetYear(number);
cout<<"输入月:";
cin>>number;
d.SetMonth(number);
if(d.GetYear()<=0||d.GetMonth()>12||d.GetMonth()<1)
{
cout<<"输入有误,返回。"<>number;
if(number<=0)
{
cout<<"输入有误,返回。"<
本文档为【C万年历源代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。