偶然看到一个C++万年历代码,拷下来放到本地测试了一下,但是出现了错误,代码段如下:(本人使用的是Visual Studio 2010),碰到的问题是这段判断输入日期是否合法的函数没有执行,该把它放到主函数的哪个地方才能正确执行?
//判断输入的日期是否合法
bool DateUtil ::InputDayIsTrue( int year , int month , int day ){
int daynumber ;
if( month > 13 || day > 31 ){ // 如果输入的日期大于13月或大于31 天则返回错误
cout<<"输入有误!";
return false;
}else{
daynumber = GetMonthDayNumber( year, month ); // 如果输入的天数比该月的实际天数大则返回错误
if( day > daynumber )
cout<<"输入有误!";
return false ;
}
return true;
}
//主函数
int main()
{
DateUtil date;
int year,month,day;
cout<<"请输入要查询的年:"<<endl;
cin >> year;
date.DisplayYear(year);
cout<<"------------------------"<<endl;
cout<<"请输入要查询的年 月,以空格分割:"<<endl;
cin >> year >> month;
date.DisplayMonth(year, month);
cout<<"------------------------"<<endl;
cout<<"请输入要查询的年 月 日,以空格分割:"<<endl;
cin >> year >> month >> day;
date.FindDayWeekend(year, month, day);
return 0;
}