[C++] 纯文本查看 复制代码
#include<iostream>
using namespace std;
//判断是不是闰年,初始化x为0(不是闰年),x为1是闰年
int x=0;
//初始化默认天数为30
int t=30;
//定义年份(year),月份(month),天数(day)
int year,month,day;
//将31天数月份分别存放
int Month1[7]={1,3,5,7,8,10,12};
//将30天数月份分别存放
int Month2[4]={4,6,9,11};
//天数加一函数
void NextDate(int year,int month,int day){
cout<<"输出输入的日期为:";
cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
//是闰年
if(x==1){
if(month==2){
//2月29日
if(day+1==30){
day=1;
cout<<"输入日期后一天为:";
cout<<year<<"年"<<(month+1)<<"月"<<day<<"日"<<endl;
}else{
cout<<"输入日期后一天为:";
cout<<year<<"年"<<month<<"月"<<(day+1)<<"日"<<endl;}
}
//此处通过t的值判断-->4,6,9,11月
else if(t==30){
if(day==30){
day=1;
cout<<"输入日期后一天为:";
cout<<year<<"年"<<(month+1)<<"月"<<day<<"日"<<endl;
}else{
//输入的日期天数不是30
cout<<"输入日期后一天为:";
cout<<year<<"年"<<month<<"月"<<(day+1)<<"日"<<endl; }}
//此处通过t的值判断-->1,3,5,7,8,10,12月
else if(t==31){
if(day==31){
day=1;
//12月31日
if(month==12){
month=1;
cout<<"输入日期后一天为:";
cout<<(year+1)<<"年"<<month<<"月"<<day<<"日"<<endl;
}else{
day=1;
cout<<"输入日期后一天为:";
cout<<year<<"年"<<(month+1)<<"月"<<day<<"日"<<endl;}
}else{
//输入的日期天数不是30
cout<<"输入日期后一天为:";
cout<<year<<"年"<<month<<"月"<<(day+1)<<"日"<<endl; }
}
}else{
//此时不为闰年x=0;
//判断2月
if(month==2){
//2月28
if(day+1==29){
day=1;
cout<<"输入日期后一天为:";
cout<<year<<"年"<<(month+1)<<"月"<<day<<"日"<<endl;
}else{
cout<<"输入日期后一天为:";
cout<<year<<"年"<<month<<"月"<<(day+1)<<"日"<<endl;}
}
//此处通过t的值判断-->4,6,9,11月
else if(t==30){
if(day==30){
day=1;
cout<<"输入日期后一天为:";
cout<<year<<"年"<<(month+1)<<"月"<<day<<"日"<<endl;
}else{
//输入的日期天数不是30
cout<<"输入日期后一天为:";
cout<<year<<"年"<<month<<"月"<<(day+1)<<"日"<<endl; }}
else if(t==31){
if(day==31){
day=1;
//12月31日
if(month==12){
month=1;
cout<<"输入日期后一天为:";
cout<<(year+1)<<"年"<<month<<"月"<<day<<"日"<<endl;
}else{
day=1;
cout<<"输入日期后一天为:";
cout<<year<<"年"<<(month+1)<<"月"<<day<<"日"<<endl;}
}else{
//输入的日期天数不是30
cout<<"输入日期后一天为:";
cout<<year<<"年"<<month<<"月"<<(day+1)<<"日"<<endl; }}
}
}
//主函数
int main(){
int year,month,day;
cout<<"请输入year,month,day"<<endl;
cin>>year;
cin>>month;
cin>>day;
if(year>=1923&&year<=2023){
if((year%4==0 && year % 100 !=0)||(year % 400==0)){
//cout<<"是闰年"<<endl;
x=x+1;
//判断输入月份是否合理
if(month>=1&&month<=12){
//判断闰年2月的天数输入合不合理
if(month==2){
if(day>=1&&day<=29){
NextDate(year,month,day);
}else{
cout<<"输入天数不合理"<<endl;}
}
//判断天数为31的月份
for(int i=0;i<7;i++){
if(month==Month1[i]){
t=t+1;//31
if(day>1&&day<=t){
NextDate(year,month,day);
} else{
cout<<"输入天数不合理"<<endl;}
}
}
//判断天数为30的月份
for(int i=0;i<4;i++){
if(month==Month2[i]){
if(day>=1&&day<=t){
NextDate(year,month,day);
}else{
cout<<"输入天数不合理"<<endl;}
}
}
}else{
cout<<"输入月份不合理"<<endl;}
}else{ //不是闰年
if(month>=1&&month<=12){
//判断不是闰年2月的天数输入合不合理
if(month==2){
if(day>=1&&day<=28){
NextDate(year,month,day);
}else{
cout<<"输入天数不合理"<<endl;}
}
//判断天数为31的月份
for(int i=0;i<7;i++){
if(month==Month1[i]){
t=t+1;//31
if(day>1&&day<=t){
NextDate(year,month,day);
} else{
cout<<"输入天数不合理"<<endl;}
}
}
//判断天数为30的月份
for(int i=0;i<4;i++){
if(month==Month2[i]){
if(day>1&&day<=t){
NextDate(year,month,day);
}else{
cout<<"输入天数不合理"<<endl;}
}
}
}else{
cout<<"输入月份不合理"<<endl;}
}
}else{
cout<<"输入年份不合理"<<endl;
}
}