文档详情

c++判断输入的日期为星期几.doc

发布:2017-12-09约2.23千字共4页下载文档
文本预览下载声明
C++编程 判断一个输入的日期为星期几,并有判断输入日期正误功能 ********************************************************************/ #includeiostream.h void main() { int inputcheck(int,int,int y); int year,month,day,number, int i,sum,count; cout 请输入你要查询的年月日: ; cinyear monthday; //首先输入三个数:年 月 日 while(inputcheck(year,month,day)) { cout 请输入你要查询的年月日: ; cinyear monthday; //首先输入三个数:年 月 日 } while(year!=0month!=0 month!=0) { sum=0; count=0; for(i=1;i=(year-1);i++)//计算闰年个数 { if((i%4==0i%100!=0)||i%400==0) ++count; } sum=(year-1-count)*365+count*366;//计算公元1到公元(year-1)天数 switch(month)//先按非闰年计算总天数 { case 1: sum+=day;break; case 2:sum+=31+day;break; case 3:sum+=60+day;break; case 4:sum+=91+day;break; case 5:sum=121+day;break; case 6:sum+=152+day;break; case 7:sum+=182+day;break; case 8:sum+=213+day;break; case 9:sum+=244+day;break; case 10:sum+=274+day;break; case 11:sum+=305+day;break; case 12:sum+=335+day;break; default:cout输入月份错误!\nendl;break; } if((year%4==0year%100!=0)||year%400==0)//判断year年是否为闰年,是闰年月份大于2总天数加1 if(month2)sum=sum+1; number=sum%7;//计算星期几 cout这一天是星期:number\nendl; cout 请输入你要查询的年月日: ; cinyear monthday; //首先输入三个数:年 月 日 while(inputcheck(year,month,day)) { cout 请输入你要查询的年月日: ; cinyear monthday; //首先输入三个数:年 月 日 } } } int inputcheck(int year,int month,int day) { int x=0; if((year=0||month=0day0))//输入的年月日必须为正数 { cout你输入的日期不正确,输入的年月日必须为正数!\nendl; x=1; } if(!(year%4==0year%100!=0||year%400==0))//非闰年二月day大于28数据就判断为错误,返回重新输入 if(month==2) if(day28) { cout你输入的日期不正确,非闰年二月day不能大于28!\nendl; x=1; } if(year%4==0year%100!=0||year%400==0)//闰年二月大于29就判断为错误,返回重新输入 if(month==2) if(day29) { cout你输入的日期不正确,闰年二月不能大于29!\nendl; x=1; } if(month==4||month==6||month==9||month==11)//小月份day不能超过30,返回重新输入 if(day30) { cout你输入的日期不正确,小月份day不能超过30!\nendl; x=1; } if(month==1||month==3||month==5||month==7||month==10||mo
显示全部
相似文档