思路:
设定一个原始日期,及其为星期几,为了保险起见,我设定1900一月一日 为礼拜一,日期表上也是如此。
然后计算 输入的日期 与 1900 之间的天数,然后用天数%7 ,其余数分别代表了礼拜几,如果为0,说明是礼拜天。
注:计算天数参考我上篇博文,附链接:
http://blog.csdn.net/qq_23100787/article/details/48219005
然后在如下板块做相应修改:
if((year2-year1)<0) cout<<"应该先输入小的年份,输入错误";
if((year2-year1)==0){
weekday(JudgeMonthDay(year1,month1,month2,day1,day2));
}
if((year2-year1)==1) weekday(backday(year1,month1,day1)+frontday(year2,month2,day2));
if((year2-year1)>1){
sum = backday(year1,month1,day1)+frontday(year2,month2,day2);
for(int i=year1+1;i<=year2-1;i++){
sum+=isyear(i);
}
weekday(sum);
}
在上篇博文的函数中添加一个weekday()函数即可
void weekday(int num){
int N = num%7;
cout<<"您输入的日期是一周中的第"<<N+1<<"天"<<endl;
}
附上运行截图:
注意:因为我设定1900 1 1 这个日期为星期1,所以得输入一下1900 1 1然后再输第二个日期