📄 cdate.cpp
字号:
#include <iostream>
using namespace std;
int dayOfMonth[12] = {31,29,31,30,31,30,31,31,30,31,30,31};
//类声明
class Date
{
private:
int year,month,day;
bool isLeapYear(int year); //判断是否为闰年函数
public:
int dis_Date();
int dateincrease();
bool set_Date(int year,int month,int day);
};
//日期输出函数定义
int Date::dis_Date()
{
cout<<day<<'/'<<month<<'/'<<year<<endl;
return 0;
}
//日期递增函数定义
int Date::dateincrease()
{
day++; //日期加1
{
//如果到达月末,则前进到下个月
if (day>dayOfMonth[month-1])
{
day=1;
month++;
//如果到了年末,则到下一年
if (month>12)
{
month=1;
year++;
}
}
//判断是否为非闰年的2月29号
if (month==2 && day==29&&!isLeapYear(year))
{
month=3;
day=1;
}
return 0;
}
}
//判断闰年函数定义
bool Date::isLeapYear(int year)
{
//年份值能被4整除,并且不能被100整除,或者能被400整除
if (((year%4 == 0) && (year%100 != 0))||(year%400==0))
return true;
return false;
}
//判断年月设置是否正确
bool Date::set_Date(int year,int month,int day)
{
//判断日期值是否正确
if(month>12||month<1)
{
cout<<"month error\n";
return false;
}
if (day>dayOfMonth[month-1]||day <1|| //正常的日期值
(month == 2 && day == 29 && !isLeapYear(year))) //闰年日期
{
cout << "day error\n";
return false;
}
//正确
Date::year=year;
Date::month=month;
Date::day=day;
return true;
}
//主函数
int main()
{
Date date;//定义对象date
int year,month,day;
while(1)
{
cout <<"Please input year,month,day:";
cin >>year>>month>>day;
//输入为0 表示结束循环
if (year == 0)
return 0;
//如果输入值不正确,则不做后面的操作
if (!date.set_Date(year,month,day))
continue;
//对象调用函数
date.dis_Date();
date.dateincrease();
date.dis_Date();
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -