已知今天的日期(含年、月、日),编程求得明天的日期(含年、月、日)。
判断是否为闰年通过一个函数实现。
你试试吧,有啥不满意的你自己再改一个了......
#include <stdio.h>
struct aaa
{
int year;//年
int month;//月
int day;//日
};
void main()
{
struct aaa date;
int days;
printf("请输入日期(年 月 日):\n");
printf("输入年:");
fflush(stdin);
scanf("%d",&date.year);
printf("你输入的年份是:%d年\n",date.year);
do
{
printf("输入月(1-12):");
fflush(stdin);
scanf("%d",&date.month);
if(date.month>=1&&date.month<=12)
printf("你输入的月份是:%d月\n",date.month);
else
printf("输入的月无效\n请重新输入\n");
}while(date.month<1||date.month>12);
do
{
printf("输入日:");
fflush(stdin);
scanf("%d",&date.day);
if(date.month==1||date.month==3||date.month==5||date.month==7||date.month==8||date.month==10||date.month==12)
days=31;
else if(date.month==4||date.month==6||date.month==9||date.month==11)
days=30;
else if((date.year%4==0 && date.year%100!=0||date.year%400==0) &&date.month==2)
days=29;
else
days=28;
if(date.day>=1&&date.day<=days)
printf("你输入的日是:%d日\n",date.day);
else
printf("输入的日无效\n请重新输入\n");
}while(date.day<1||date.day>days);
if(date.month==12&&date.day==31)
{
printf("今天的日期是:%d年%d月%d日\n",date.year,date.month,date.day);
printf("明天的日期是:%d年1月1日\n",(date.year+1));
}
else if(date.month!=12&&date.day==days)
{
printf("今天的日期是:%d年%d月%d日\n",date.year,date.month,date.day);
printf("明天的日期是:%d年%d月1日\n",date.year,(date.month+1));
}
else
{
printf("今天的日期是:%d年%d月%d日\n",date.year,date.month,date.day);
printf("明天的日期是:%d年%d月%d日\n",date.year,date.month,(date.day+1));
}
}