#include<iostream>
void main()
{
int a,b,c,i=0;
do
{
std::cout<<"请输入年份(2008~):";
std::cin>>a;
}
while(a<2008);
do
{
std::cout<<"请输入年份(1~12):";
std::cin>>b;
}
while(b<1 || b>12);
if(a%4==0)
{
if(b==1 ||b==3 ||b==5 ||b==7 ||b==8 ||b==10 ||b==12)
{
do
{
std::cout<<"请输入日期(1~31):";
std::cin>>c;
}
while(c<1 ||c>31);
}
else if(b==2)
{
do
{
std::cout<<"请输入日期(1~29):";
std::cin>>c;
}
while(c<1 ||c>29);
}
else
{
do
{
std::cout<<"请输入日期(1~30):";
std::cin>>c;
}
while(c<1 ||c>30);
}
}
else
{
if(b==1 ||b==3 ||b==5 ||b==7 ||b==8 ||b==10 ||b==12)
{
do
{
std::cout<<"请输入日期(1~31):";
std::cin>>c;
}
while(c<1 ||c>31);
}
else if(b==2)
{
do
{
std::cout<<"请输入日期(1~28):";
std::cin>>c;
}
while(c<1 ||c>28);
}
else
{
do
{
std::cout<<"请输入日期(1~30):";
std::cin>>c;
}
while(c<1 ||c>30);
}
}
switch (b)
{
case 12:i+=30;
case 11:i+=31;
case 10:i+=30;
case 9:i+=31;
case 8:i+=31;
case 7:i+=30;
case 6:i+=31;
case 5:i+=30;
case 4:i+=31;
case 3:(a%4==0?i+=29:i+=28);
case 2:i+=31;
case 1:i+=0;
}
int n=0;
if(a%4==0)
n=((a-2008)*365+(a-2008)/4+i+c)%7;
else
n=((a-2008)*365+(a-2008)/4+i+c+1)%7;
switch(n)
{
case 0:std::cout<<a<<"年"<<b<<"月"<<c<<"日这天是周一";break;
case 1:std::cout<<a<<"年"<<b<<"月"<<c<<"日这天是周二";break;
case 2:std::cout<<a<<"年"<<b<<"月"<<c<<"日这天是周三";break;
case 3:std::cout<<a<<"年"<<b<<"月"<<c<<"日这天是周四";break;
case 4:std::cout<<a<<"年"<<b<<"月"<<c<<"日这天是周五";break;
case 5:std::cout<<a<<"年"<<b<<"月"<<c<<"日这天是周六";break;
case 6:std::cout<<a<<"年"<<b<<"月"<<c<<"日这天是周日";break;
}
std::cout<<std::endl;
system("pause");
}
刚开始写算周几
最新推荐文章于 2024-08-29 03:27:41 发布