亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 日期類1.cpp

?? 日期類 日期類 日期類 日期類 日期類 日期類 日期類 日期類 日期類 日期類 日期類 日期類 日期類 日期類 日期類 日期類 日期類 日期類
?? CPP
字號(hào):
#include<iostream>
using namespace std;

//前置聲明
class Date;

//友元函數(shù)聲明
long operator-(Date c1,Date c2);
bool operator>(Date c1,Date c2);
bool operator<(Date c1,Date c2);
bool operator==(Date c1,Date c2);
istream & operator>>(istream &is,Date &c);
ostream & operator<<(ostream &out,const Date &c);

//定義錯(cuò)誤類
class wrongdate{};


//定義Date類
class Date
{
public:
	Date(int y=2000,int m=1,int d=1);
	void setdate(int y=2000,int m=1,int d=1);
	bool judgeyear();
	bool judgemonth();
	int month_day();
	bool judgeday();
	void judgedate();
	friend long operator-(Date c1,Date c2);
	Date operator+(int c2);
	Date operator-(int c2);
	Date operator++();
	Date operator--();
	Date operator++(int nouse);
	Date operator--(int nouse);
	Date operator+=(int c2);
	friend bool operator>(Date c1,Date c2);
	friend bool operator<(Date c1,Date c2);
	friend bool operator==(Date c1,Date c2);
	friend istream & operator>>(istream &is,Date &c);
	friend ostream & operator<<(ostream &out,const Date &c);
	void showdate();
private:
	int year,month,day,m;
};

//定義構(gòu)造函數(shù)
Date::Date(int y,int m,int d)
{
	year=y;
	month=m;
	day=d;
}

//定義賦值函數(shù)
void Date::setdate(int y,int m,int d)
{
	year=y;
	month=m;
	day=d;
}

//判斷年是否為閏年
bool leap_year(int year)
{
	return(year%4==0&&year%100!=0||year%400==0);
}

//定義類函數(shù)判斷年的合法性
bool Date::judgeyear()
{
	return(year!=0);
}

//定義類函數(shù)判斷月的合法性
bool Date::judgemonth()
{
	return(month>=1&&month<=12);
}

//定義類函數(shù)計(jì)算每個(gè)月返回的天數(shù)
int Date::month_day()
{
	switch(month)
	{
	case 1:
	case 3:
	case 5:
	case 7:
	case 8:
	case 10:
	case 12:m=31;break;
	case 4:
	case 6:
	case 9:
	case 11:m=30;break;
	case 2:
		{
			if(leap_year(year))
			   m=29;
		    else 
				m=28;
		    break;
		}
	}
	return m;
}

//類函數(shù)判斷日的合法性
bool Date::judgeday()
{
	return(day>0&&day<=month_day());
}

//類函數(shù)判斷日期的合法性
void Date::judgedate()
{
	if((judgeyear()&&judgemonth()&&judgeday()));
	else
		throw wrongdate();	
}

//重載友元函數(shù)計(jì)算兩個(gè)日期相差的天數(shù)
long operator-(Date c1,Date c2)
{
	long dif1,dif2,dif=0;
	for(;c1.month>1;c1.month--)
		dif1=c1.day-1+c1.month_day();
	for(;c2.month>1;c2.month--)
		dif2=c2.day-1+c2.month_day();
	while(c1.year!=c2.year)
	{
		if(c1.year>c2.year)
		{
			if(leap_year(c2.year))
				dif+=366;
			else dif+=365;
			c2.year++;
		}
		if(c1.year<c2.year)
		{
			if(leap_year(c1.year))
				dif+=366;
			else dif+=365;
			c1.year++;
		}
	}
	return(c1.year>c2.year ? (dif+dif1-dif2):(dif+dif2-dif1));
}


//重載日期+天數(shù)
Date Date::operator+(int c2)
{
	while(c2!=0)
	{
		if(month>12)
		{
			month-=12;
			year++;
		}
		day++;
		c2--;
		if(day>month_day())
		{
			day-=month_day();
			month++;
		}
	}
	return(*this);
}

//重載日期-天數(shù)
Date Date::operator-(int c2)
{
	while(c2!=0)
	{
		if(month<1)
		{
			month=12;
			year--;
		}
		day--;
		c2--;
		if(day<1)
		{
			month--;
			day=month_day();
		}
	}
	return(*this);
}

//類函數(shù)重載前置++號(hào)
Date Date::operator++()
{
	*this=*this+1;
	return(*this);
}

//類函數(shù)重載前置--號(hào)
Date Date::operator--()
{
	*this=*this-1;
	return(*this);
}

//類函數(shù)重載后置++號(hào)
Date Date::operator++(int nouse)
{
	Date c1;
	c1=*this;
	*this=*this+1;
	return(c1);
}

//類函數(shù)重載后置--號(hào)
Date Date::operator--(int nouse)
{
	Date c1;
	c1=*this;
	*this=*this-1;
	return(c1);
}

//類函數(shù)重載+=號(hào)
Date Date::operator +=(int c2)
{
	*this=*this+c2;
	return(*this);
}

//友元函數(shù)重載〉判斷第一個(gè)日期比第二個(gè)日期后
bool operator>(Date c1,Date c2)
{
	long dif1,dif2;
	for(;c1.month>1;c1.month--)
		dif1=c1.day-1+c1.m;
	for(;c2.month>1;c2.month--)
		dif2=c2.day-1+c2.m;
	if(c1.year>c2.year)
		return true;
	if(c1.year==c2.year)
	{
		if(dif1>dif2)
			return true;
		else return false;
	}
	else return false;
}

//友元函數(shù)重載〈判斷第一個(gè)日期比第二個(gè)日期前
bool operator<(Date c1,Date c2)
{
	long dif1,dif2;
	for(;c1.month>1;c1.month--)
		dif1=c1.day-1+c1.m;
	for(;c2.month>1;c2.month--)
		dif2=c2.day-1+c2.m;
	if(c1.year<c2.year)
		return true;
	if(c1.year==c2.year)
	{
		if(dif1<dif2)
			return true;
		else return false;
	}
	else return false;
}

//友元函數(shù)重載==判斷兩個(gè)日期相等
bool operator==(Date c1,Date c2)
{
	long dif1,dif2;
	for(;c1.month>1;c1.month--)
		dif1=c1.day-1+c1.m;
	for(;c2.month>1;c2.month--)
		dif2=c2.day-1+c2.m;
	if(c1.year==c2.year&&dif1==dif2)
		return true;
	else return false;
}

//重載>>輸入函數(shù)
istream & operator>>(istream &is,Date &c)
{
	is>>c.year>>c.month>>c.day;
	return is;
}

//重載<<輸出函數(shù)
ostream & operator<<(ostream &out,const Date &c)
{
	out<<c.year<<"年"<<c.month<<"月"<<c.day<<"日"<<endl;
	return out;
}

//輸出年月日
void Date::showdate()
{
	cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
}

//主函數(shù)
int main()
{
	Date c1,c2,c3;
	int i,j,k,l,m=0,n;
	long num,dif;
	int year,month,day;
	char a[10];

	//用字符串來輸入第一個(gè)日期,并判斷第一個(gè)日期的格式
	cout<<"輸入第一個(gè)日期_年_月_日"<<endl;
	cin>>a;
	//計(jì)算出年與月之間的字符所在的位數(shù)
	for(i=0;i<10;i++)
	{
		if(a[i]<'0'||a[i]>'9')
		{
			if(m==1) 
			{
				l=i;//用l記錄第二個(gè)非數(shù)字字符的位置
				m+=1;
			}
			if(m==0)
			{
				k=i;
			    m+=1;//用k記錄第一個(gè)非數(shù)字字符的位置
			}
		}
		if(a[i]=='\n'&&m==2)
		{
			n=i;
			break;//用n記錄結(jié)束字符的位置
		}
	}
	if(a[k]!=a[l])
	{
		cout<<"type wrong"<<endl;
        return(0);
	}

	//計(jì)算輸入的年
	year=(int)(a[0])-48;
	month=(int)(a[k+1])-48;
	day=(int)(a[l+1])-48;
	for(j=1;j<k;j++)
	   year=10*year+(int)(a[j])-48;
	for(j=k+2;j<l;j++)
	   month=10*month+(int)(a[j])-48;
    for(j=l+2;j<n;j++)
		day=10*day+(int)(a[j])-48;

	//輸入轉(zhuǎn)換后的第一個(gè)日期
	c1.setdate(year,month,day);
	c1.judgedate();

	//用重載的>>來輸入第二個(gè)日期
	cout<<"輸入第二個(gè)日期_年_月_日"<<endl;
	cin>>c2;
	c2.judgedate();

	//用拋出錯(cuò)誤類來判斷日期的合法性
	char ch='y';
	while()
	{
	if(ch=='y')
	try
	{
		c1.judgedate();
		c2.judgedate();
	}
	catch(wrongdate)
	{
		cout<<"輸入的日期錯(cuò)誤;是否繼續(xù)(y/n)"<<endl;
			cin>>ch;
	}
	else break;
	}
	if(ch!='y')
		exit(1);
	
	cout<<"輸入要加減的天數(shù)"<<endl;
	cin>>num;

	//測(cè)試兩個(gè)日期相差的天數(shù)
	dif=c1-c2;
	cout<<"兩個(gè)日期相差的天數(shù)"<<dif<<endl;

	//測(cè)試重載的+號(hào)
	c3=c1+num;
	cout<<"日期加天數(shù)的結(jié)果是";
	c3.showdate();

	//測(cè)試重載的-號(hào)
	c1.setdate(year,month,day);
	c3=c1-num;
	cout<<"日期減天數(shù)的結(jié)果是";
    cout<<c3;
	
	//測(cè)試重載的+=號(hào)
	c1.setdate(year,month,day);
	c1+=num;
	cout<<"c1+="<<num<<"="<<c1<<endl;

	//測(cè)試重載的后置++
	c1.setdate(year,month,day);
	cout<<"c1++="<<c1++<<endl;

	//測(cè)試重載的前置++
	c1.setdate(year,month,day);
	cout<<"++c1="<<++c1<<endl;

	//測(cè)試重載的后置--
	c1.setdate(year,month,day);
	cout<<"c1--="<<c1--<<endl;

	//測(cè)試重載的前置--
	c1.setdate(year,month,day);
	cout<<"--c1="<<--c1<<endl;

	//判斷兩個(gè)日期的大小
	if(c1>c2)
		cout<<"c1>c2"<<endl;
	if(c1<c2)
		cout<<"c1<c2"<<endl;
	if(c1==c2)
		cout<<"c1=c2"<<endl;
	return(0);
}



	

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区二区三区四区| 亚洲成在人线在线播放| 欧美一区二区三区免费观看视频| 色系网站成人免费| 欧美最新大片在线看| 日本精品一区二区三区四区的功能| 国产成人av一区二区三区在线| 国产丶欧美丶日本不卡视频| 成人午夜视频在线| av在线综合网| 欧美亚洲综合另类| 欧美不卡在线视频| 久久精品一区二区三区不卡牛牛| 久久精品亚洲精品国产欧美| 国产精品美女久久久久久| 亚洲乱码日产精品bd| 亚洲综合精品久久| 日日夜夜精品视频天天综合网| 欧美aaaaaa午夜精品| 国产精品 欧美精品| 99精品在线免费| 欧美日韩免费观看一区三区| 日韩一级在线观看| 国产精品―色哟哟| 午夜欧美电影在线观看| 国产美女一区二区| 欧美三级视频在线| 国产偷国产偷亚洲高清人白洁 | 成人av在线网站| 色国产综合视频| 欧美一区午夜视频在线观看| 国产亚洲精品bt天堂精选| 亚洲免费看黄网站| 久久精品二区亚洲w码| 91免费版pro下载短视频| 日韩欧美中文字幕公布| 亚洲情趣在线观看| 国产最新精品免费| 欧美日韩一区精品| 欧美国产日韩a欧美在线观看| 亚洲自拍偷拍网站| 国产精品一区二区三区网站| 精品视频色一区| 国产精品久久综合| 国产一区二区三区黄视频| 日本久久一区二区三区| 国产精品免费观看视频| 美腿丝袜一区二区三区| 99re在线视频这里只有精品| 亚洲精品一区二区三区影院 | 亚洲成人av免费| 国产成人精品免费一区二区| 欧美一区二区三区系列电影| 一区二区视频在线看| 粗大黑人巨茎大战欧美成人| 欧美一区二区在线看| 一区二区三区四区中文字幕| 国产99一区视频免费| 久久夜色精品国产噜噜av| 亚洲成人在线免费| 在线观看视频一区二区| 亚洲美女屁股眼交3| av网站一区二区三区| 国产欧美日韩卡一| 国产激情视频一区二区在线观看| 欧美成人精品3d动漫h| 美腿丝袜在线亚洲一区| 日韩精品一区二区在线| 日韩电影免费在线观看网站| 欧美精品777| 视频一区二区三区入口| 91精品综合久久久久久| 日本免费在线视频不卡一不卡二| 欧美三级资源在线| 日韩不卡免费视频| 精品美女一区二区三区| 国产原创一区二区三区| 国产网站一区二区| a在线播放不卡| 亚洲精品欧美在线| 欧美少妇性性性| 亚洲电影一级黄| 日韩一级免费一区| 国内一区二区视频| 国产精品理论片在线观看| 色综合久久中文字幕综合网 | 激情久久久久久久久久久久久久久久| 3d动漫精品啪啪1区2区免费 | 韩国成人福利片在线播放| 2020国产成人综合网| 国产成人在线免费观看| 亚洲黄网站在线观看| 777午夜精品免费视频| 国产在线看一区| 国产精品久久久久久妇女6080 | 国产成人综合在线播放| 一色桃子久久精品亚洲| 在线免费一区三区| 久草这里只有精品视频| 中文字幕日本不卡| 欧美疯狂做受xxxx富婆| 国产乱码精品一区二区三| 一区二区三区四区蜜桃| 精品免费日韩av| 在线视频亚洲一区| 国产一区二区精品久久| 夜夜爽夜夜爽精品视频| 久久综合成人精品亚洲另类欧美| av电影天堂一区二区在线观看| 亚洲成在人线在线播放| 国产偷v国产偷v亚洲高清| 91视频国产观看| 国产呦萝稀缺另类资源| 午夜精品影院在线观看| 国产精品私人影院| 日韩手机在线导航| 91免费版pro下载短视频| 久久99国内精品| 亚洲成av人片一区二区梦乃| 欧美极品美女视频| 欧美日韩日日夜夜| 99精品国产视频| 经典一区二区三区| 日本中文字幕一区二区有限公司| 亚洲国产精品成人综合色在线婷婷 | 国产一区二区三区在线看麻豆| 亚洲欧美区自拍先锋| 久久精品水蜜桃av综合天堂| 在线播放/欧美激情| 91免费视频网| 国产高清在线精品| 日韩av二区在线播放| 一片黄亚洲嫩模| 亚洲欧美一区二区不卡| 国产亚洲短视频| 26uuu国产日韩综合| 日韩一区二区三免费高清| 欧美视频一区二| 色偷偷久久一区二区三区| 成人av网站在线| 国产成人精品免费在线| 国产一区二区三区av电影| 理论电影国产精品| 理论电影国产精品| 韩国成人福利片在线播放| 久久国产三级精品| 国内外成人在线| 国产一区二区福利| 国产黄人亚洲片| 成人国产在线观看| 99久久婷婷国产综合精品电影| 国产成人av一区二区| 成人黄页毛片网站| 99久久伊人精品| 色诱亚洲精品久久久久久| 色综合久久久久综合体| 91国偷自产一区二区三区成为亚洲经典 | 91精品1区2区| 欧美日韩精品一区二区在线播放| 欧美日韩一区高清| 日韩欧美在线网站| 国产情人综合久久777777| 国产日产欧产精品推荐色 | xnxx国产精品| 国产嫩草影院久久久久| 亚洲视频在线一区| 亚洲小少妇裸体bbw| 日本在线不卡视频一二三区| 久久精品国产色蜜蜜麻豆| 国产精品1区2区3区| 91影视在线播放| 欧美老女人第四色| 精品国产一区二区三区四区四| 国产亚洲综合在线| 亚洲欧美日本韩国| 日本亚洲视频在线| 国产一区亚洲一区| 色一情一乱一乱一91av| 欧美一区二区精品久久911| 国产欧美日韩另类视频免费观看| 亚洲精品高清视频在线观看| 日本91福利区| 97久久超碰国产精品| 91精品国产麻豆| 自拍av一区二区三区| 免费在线成人网| 成人成人成人在线视频| 欧美一区二区视频网站| 国产精品亲子乱子伦xxxx裸| 亚洲一区二区偷拍精品| 亚洲图片激情小说| 国产曰批免费观看久久久| 色拍拍在线精品视频8848| 欧美午夜在线一二页| 欧美激情一二三区| 九一久久久久久| 欧美三级中文字| 欧美精品在线一区二区三区| 一区二区三区在线观看国产| 日本aⅴ精品一区二区三区|