- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c判断输入的日期为星期几
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
您可能关注的文档
- 中美班预备段结业考试卷 阅读.docx
- 灭菌、消毒的相关术语及英文释译.doc
- 新概念补充语法材料.doc
- 残膜危害及治理.doc
- 甲壳素纤维及其应用.doc
- Windows Phone 上的触控手势.docx
- Windows_7多点触控功能教程.docx
- 广西科技大学12-13-1学期(上半)C语言B卷 答案标出.doc
- 腹腔镜与异位妊娠.docx
- 2012年1月高等教育自学考试英语(一) 试卷.doc
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
文档评论(0)