c++编写的万年历代码
2012-06-02 20:54
477 查看
#include<iostream.h>
int main()
{
int i,j,leap,year,m,d;
int c,y,w,q;
//判断某年某月某日星期几
cout<<"请输入年月日(以空格或','隔开):";
cin>>year>>m>>d;
y=year0,c=year/100;
w=5-c+y+(y/4)+(13*(m+1)/5)+d;
q=w%7;
switch(q)
{
case 1:cout<<year<<"年"<<m<<"月"<<d<<"日星期一";break;
case 2:cout<<year<<"年"<<m<<"月"<<d<<"日星期二";break;
case 3:cout<<year<<"年"<<m<<"月"<<d<<"日星期三";break;
case 4:cout<<year<<"年"<<m<<"月"<<d<<"日星期四";break;
case 5:cout<<year<<"年"<<m<<"月"<<d<<"日星期五";break;
case 6:cout<<year<<"年"<<m<<"月"<<d<<"日星期六";break;
case 0:cout<<year<<"年"<<m<<"月"<<d<<"日星期日";break;
default:break;
}
cout<<endl<<endl;
//打印某年某月日历
cout<<"请输入年和月(以空格或','隔开):";
cin>>year>>m;
y=year0,c=year/100,d=1;
w=5-c+y+(y/4)+(13*(m+1)/5)+d;
q=w%7;
cout<<endl<<"\t"<<"日"<<"\t"<<"一"
<<"\t"<<"二"<<"\t"<<"三"<<"\t"
<<"四"<<"\t"<<"五"<<"\t"<<"六"
<<endl;
switch(m)
{
case 1:for(i=0;i<q;i++)
cout<<"\t";
for(i=1;i<=31;i++)
{
cout<<"\t"<<i;
if((i+q)%7==0)
cout<<endl;
}break;
case 2:if(year@0==0||year%4==0&&year0!=0)
leap=29;
else
leap=28;
for(i=0;i<q;i++)
cout<<"\t";
for(i=1;i<=leap;i++)
{
cout<<"\t"<<i;
if((i+q)%7==0)
cout<<endl;
}break;
case 3:for(i=0;i<q;i++)
cout<<"\t";
for(i=1;i<=31;i++)
{
cout<<"\t"<<i;
if((i+q)%7==0)
cout<<endl;
}break;
case 4:for(i=0;i<q;i++)
cout<<"\t";
for(i=1;i<=30;i++)
{
cout<<"\t"<<i;
if((i+q)%7==0)
cout<<endl;
}break;
case 5:for(i=0;i<q;i++)
cout<<"\t";
for(i=1;i<=31;i++)
{
cout<<"\t"<<i;
if((i+q)%7==0)
cout<<endl;
}break;
case 6:for(i=0;i<q;i++)
cout<<"\t";
for(i=1;i<=30;i++)
{
cout<<"\t"<<i;
if((i+q)%7==0)
cout<<endl;
}break;
case 7:for(i=0;i<q;i++)
cout<<"\t";
for(i=1;i<=31;i++)
{
cout<<"\t"<<i;
if((i+q)%7==0)
cout<<endl;
}break;
case 8:for(i=0;i<q;i++)
cout<<"\t";
for(i=1;i<=31;i++)
{
cout<<"\t"<<i;
if((i+q)%7==0)
cout<<endl;
}break;
case 9:for(i=0;i<q;i++)
cout<<"\t";
for(i=1;i<=30;i++)
{
cout<<"\t"<<i;
if((i+q)%7==0)
cout<<endl;
}break;
case 10:for(i=0;i<q;i++)
cout<<"\t";
for(i=1;i<=31;i++)
{
cout<<"\t"<<i;
if((i+q)%7==0)
cout<<endl;
}break;
case 11:for(i=0;i<q;i++)
cout<<"\t";
for(i=1;i<=30;i++)
{
cout<<"\t"<<i;
if((i+q)%7==0)
cout<<endl;
}break;
case 12:for(i=0;i<q;i++)
cout<<"\t";
for(i=1;i<=31;i++)
{
cout<<"\t"<<i;
if((i+q)%7==0)
cout<<endl;
}break;
default:break;
}
cout<<endl<<endl;
return 0;
}
相关文章推荐
- Ros 中的代码编写 C++ 语法说明
- 编写高质量代码:改善C++程序的150个建议(六)
- 编写高质量代码:改善C++程序的150个建议(十八)
- 编写可复用性更好的C++代码
- 编写安全的Symbian C++游戏代码
- 两个在线编写C++代码的网站
- 如何编写异常安全的C++代码
- 游戏开发之在UE4中编写C++代码控制角色
- 使用eclipse调试cocos2d-x C++ 代码(编写+真机调试,放弃VS XCode)
- 如何编写异常安全的C++代码
- 编写高质量代码:改善C++程序的150个建议(七)
- 使用eclipse调试cocos2d-x C++ 代码(编写+真机调试)
- 编写可复用性更好的C++代码——Band对象和COMToys(一)
- 如何编写跨平台的C/C++代码
- 3-纯C++代码编写helloworld
- C++代码编写规范
- 游戏开发之在UE4中编写C++代码控制角色
- 使用eclipse调试cocos2d-x C++ 代码(编写+真机调试,放弃VS)
- 编写高质量代码:改善C++程序的150个建议(八)
- C++17 标准正式发布:开发者可更简单地编写和维护代码