小弟编写了一个,但总是报错,麻烦哪位高人指点一下,告诉我错在哪里?应该怎么改?事成之后必有重谢。
我输入年月日时,总是给出日期错误的提示。
#include
int isLeap()
{
int year,isleap;
i
小弟编写了一个,但总是报错,麻烦哪位高人指点一下,告诉我错在哪里?应该怎么改?事成之后必有重谢。
我输入年月日时,总是给出日期错误的提示。
#include
int isLeap()
{
int year,isleap;
if(((year%4==0)&&!(year%100==0))||(year%400==0))
isleap=1;
else
isleap=0;
return isleap;
}
int lastdayofmonth()
{
int lastday,month,isleap;
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: lastday=31;
case 4:
case 6:
case 9:
case 11: lastday=30;
case 2:
{
if (isleap==1) lastday=29;
else lastday=28;
}
}
return lastday;
}
int ValidDate()
{
int year,month,day,valid;
int yearOK,monthOK,dayOK;
if ((year>1811)&&(year<=2012)) yearOK=1;
else yearOK=0;
if ((month>0)&&(month<=12)) monthOK=1;
else monthOK=0;
if ((day>0)&&(day<=lastdayofmonth())) dayOK=1;
else dayOK=0;
if(yearOK && monthOK && dayOK) valid=1;
else valid=0;
return valid;
}
int getday()
{
int year,month,day;
printf("Enter a month/a day/a year\n");
scanf("%d %d %d",&month,&day,&year);
return ValidDate();
}
void incrementdate()
{
int day,year,month;
if (day
else
{
day=1;
if (month==12)
{
month=1;
year+=1;
}
else month+=1;
}
}
void print()
{
int day,year,month;
if (ValidDate())
printf("nextday is %d/%d/%d\n",month,day,year);
else
printf("Date error\n");
}
void main()
{
getday();
isLeap();
ValidDate();
incrementdate();
print();
}
展开
全部