标签:
闰年:闰年(Leap Year)是为了弥补认为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。补上时间差的年份为闰年。
简单来说,置润法则是:四年一闰,百年不闰,四百年再闰。即规定公历年份是整百数的,必须是400的倍数才是闰年,不是400的倍数的就是平年。
例如:1950-2050年间的闰年:
用户输入: | 预计输出: | 实际输出: |
2008 | 闰年 | 闰年 |
2009 | 平年 | 平年 |
2008abc | 非法字符 | 非法字符 |
-2008 | 非法年份 | 非法年份 |
2008.5 | 非法字符 | 非法字符 |
为了检测用户输入中的非法字符,我将用户的输入定义为String类型,并采取逐位检测的方法确认用户的输入是否为合法的正整数年份:
//判断用户的输入是否包含非法字符,如:字母、汉字:
for(int i=0;i<year.size();i++){
if ((year.at(i)>‘9‘) || (year.at(i)<‘0‘))
{
cout << "您的输入包含非法字符";
return 0;
}
}
若果用户的输入合法,再将用户的String类型输入换位Int型,进行进一步的判断处理:
stringstream ss;
ss << year;
ss >> number; //获取全部为数字的用户输入
以下是我该检测程序全部代码的截图:
程序中部分难以理解的代码行我都在注释里给出了详细解释,希望能让大家有所收获,欢迎在留言里与我交流。
标签:
原文地址:http://www.cnblogs.com/tjuwcx/p/4395839.html