⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 date.cpp

📁 做为SD0609的一员,我扎实的基础是如何打出来的,来看看我那时连猴子选大王都不会的人,是如何成长起来的吧!主要包括我所做的C++,JAVA基础联系.乱是乱了点,不过如果真心想学习,打好基础,看看也不
💻 CPP
字号:
/*****************************
* 日期演示程序(实现文件)
* 达内,陈宗权,2006/8
*****************************/
#include <iostream>
using namespace std;
#include "date.h"//包含声明
//输入一个日期,返回是否有效
DATE input()
{
    DATE d;
	cout << "input date(yyyy mm dd): " << endl;
	cin >> d.year >> d.month >> d.day;
	return d;
}
//输出一个日期
void output( DATE p )
{
	cout<<p.year << '-' << p.month << '-' << p.day;
}
//判断一个日期是否有效
bool isValid( DATE p )
{
	return p.year>=1 && p.month>=1&&p.month<=12
		&& p.day>=1 &&
		p.day<=daysOfMonth( p.year,p.month );
}
//计算一个月的天数
int daysOfMonth( int year, int month )
{
	int dm[12]={31,28,31,30,31,30,31,31,30,31,30,31};
	if( month==2 )
		return isLeap( year )?29:28; 
	return dm[month-1];
}
//判断一个年份是否是闰年	
bool isLeap( int year )
{
	return year%4==0&&year%100!=0 || year%400==0;
}
//比较两个日期的大小
int compare( DATE p1, DATE p2 )
{
	if( p1.year != p2.year )
		return p1.year - p2.year;
	if( p1.month != p2.month )
		return p1.month - p2.month;
	return p1.day - p2.day;
}
//比较两个日期的大小
int distance( DATE p1, DATE p2 )
{
	int d1 = daysOfDate( p1 );
	int d2 = daysOfDate( p2 );
	return d1>d2?(d1-d2):(d2-d1);
}
//显示一个日期是星期几
void showWeekday( DATE pd )
{
	char week[7][10] = { "Sun.","Mon.","Tue.","Wed.",
		"Thu.","Fri.","Sat."};
	cout << week[ daysOfDate(pd)%7 ] << endl;
}
//计算从公元元年元旦到指定日期是第几天
int daysOfDate( DATE p )
{
	int sum=0;
	for( int y=1; y<p.year; y++ )
		sum += daysOfYear( y );
	for( int m=1; m<p.month; m++ )
		sum += daysOfMonth( p.year, m );
	sum += p.day;
	return sum;
}
//计算一年的天数
int daysOfYear( int year )
{
	return isLeap( year )?366:365;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -