日期差值

日期差值

scanf ("%4d%2d%2d",&y1,&m1,&d1) YYYYMMDD格式数据输入

预处理

二维数组的初始化可以按行分段赋值,也可按行连续赋值。

于数组 a[5][3],按行分段赋值应该写作:
int a[5][3]={ {80,75,92}, {61,65,71}, {59,63,70}, {85,87,90}, {76,77,85} };
按行连续赋值应该写作:
int a[5][3]={80, 75, 92, 61, 65, 71, 59, 63, 70, 85, 87, 90, 76, 77, 85};
字符串的比较 strcmp(NameofMonth[i], tmp) == 0 #include<string.h>
全局变量的使用
char NameofWeek[7][20] =
{
“Sunday”,
“Monday”,
“Tuesday”,
“Wednesday”,
“Thursday”,
“Friday”,
“Saturday”
};

#include<iostream>
using namespace std;
int months[13][2] = {
	0,0,
	31,31,
	28,29,
	31,31,
	30,30,
	31,31,
	30,30,
	31,31,
	31,31,
	30,30,
	31,31,
	30,30,
	31,31
};
int getyear(int year){
	if(year%400==0||(year%4==0&&year%100!=0)) return 1;
	else return 0;
}
struct date{
	int year;
	int month;
	int day;
	date(int y,int m,int d):year(y),month(m),day(d)
	{}
	void print_date(){
		cout<<year<<" "<<month<<" "<<day<<endl; 
	}
	int  getdays(date next){
		int cnt =0;
		int index = getyear(year);
		while(*this !=next){	
			cnt++;
			day++;
			if(day>months[month][index]){
				day = 1;
				month++;
				if(month>12){
					month = 1;
					year++;
					index = getyear(year);
				}
			}
		}
		return cnt;		
	}
	bool operator <(date d){
		if(year<d.year) return true;
		if(year>d.year) return false;
		if(month<d.month) return true;
		if(month>d.month) return false;
		if(day<d.day) return true;
		if(day>d.day) return false;
		return false;
	}
	bool operator !=(date d){
		if(year==d.year&&month==d.month&&day==d.day) return false;
		else return true;
	}
};
void func(){
	int year,month,day;
	scanf("%4d%2d%2d",&year,&month,&day);
	date d1(year,month,day);
	scanf("%4d%2d%2d",&year,&month,&day);
	date d2(year,month,day);
	int cnt;
	if(d1<d2)
		cnt = d1.getdays(d2); 
	else 
		cnt = d2.getdays(d1); 
	cout<<cnt+1<<endl;
}
int main(){
	func();
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最佳损友1020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值