永发信息网

c++万年历

答案:1  悬赏:30  手机版
解决时间 2021-07-25 22:44

#include <iostream.h>
#include <iomanip.h>
#include <stdio.h>
char* weekd[7]={"SUN","MON","TUE","WEN","THU","FRI","STA"};
int year;
int l,c;
int day[13][3];
int i,j,k,t;
int getyear()
{
cout<<"请输入你想要查询的年份:";
cin>>year;
return year;
} //判断是否为闰年。
int ioleapyear()
{
if(year%4==0&&year%100!=0||year%400==0)
return 1;
else return 0;
}
int weekday(int b) //计算每年第一天是星期几。
{
return ((b-1)+(b-1)/4-(b-1)/100+(b-1)/400+1)%7;
}

int monthday(int i) //计算每个月多少天。
{
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) return 31;
else if (i==2)
if(ioleapyear()) return 29;
else return 28;
else return 30;
}

void putout(){
cout<<"你要输入几行几列(请让行与列相乘为12):";
cin>>l>>c;
day[1][0]=weekday(year);
day[1][1]=1;
day[1][2]=31;
for(i=2;i<=12;i++){
day[i][0]=( day[i-1][0]+monthday(i-1) )%7;
day[i][1]=1;
day[i][2]=monthday(i);
}
for(i=0;i<l;i++){
for(int j=0;j<c;j++){
if(j)cout<<" ";
cout<<"----------"<<i*c+j+1<<"----------";
}
cout<<endl;
for(j=0;j<c;j++){
if(j)cout<<" ";
cout<<"日 一 二 三 四 五 六";
}
cout<<endl;
for(k=0;k<6;k++){
for(j=0;j<c;j++){
if(k!=0)day[i*c+j+1][0]=0;
if(j)cout<<" ";
for(t=1;t<day[i*c+j+1][0];t++)cout<<" ";
while(day[i*c+j+1][0]!=7&&day[i*c+j+1][1]<=day[i*c+j+1][2]){
printf("%2d ",day[i*c+j+1][1]);
day[i*c+j+1][0]++;
day[i*c+j+1][1]++;
}
if(day[i*c+j+1][1]>day[i*c+j+1][2])
for(t=day[i*c+j+1][0];t<7;t++)cout<<" ";
}
cout<<endl;
}
}
}
int main(){
getyear();
putout();
getchar();
return 0;
}

最佳答案

您有什么问题啊 ???

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
电脑系统关键位置
北京奥迪A6现在是什么价格了?
我QQ牧场已经开通了,但是我黄钻是一级,我想
大话2:如何练就极品大力男人?
我的网通插件打不开,不能上网,有解决方法吗
为什么不能用带玻璃塞的玻璃瓶存放硅酸钠?
如何搁浅心中的那份爱!
为什么人会唱歌?
参有多少品种
公司要注销又无经营。要做清算报告吗?
初一语文下学期《社戏》中的一个小问题
水瓶座的女孩该怎样对待自己的爱情
10M以上的小说
请问现在3000块左右的笔记本哪个比较好?
沈阳哪里有卖面部的精油?
推荐资讯
小学五年级上册的谚语,谚语大全 小学五年级
求职需要学什么
你好 帮我看看这什么原因
急!!!谁能帮我写一篇200字左右的检讨,内
海南11月23到28号的具体天气!
我一上班就脑壳痛,么办啊
谁知道除了金山、瑞星、360、卡巴还是什么比
请告诉我〈万物生-中文-萨顶顶〉歌词
造粒设备技术
你的一生需要经历那些事情才能成熟?
qq游戏 游戏
彩虹岛105还能接(海豹女猎人的风之祝福)任
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?