c++判断输入的日期为星期几.doc
文本预览下载声明
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
显示全部