| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3066 人关注过本帖, 1 人收藏
标题:求万年历的代码!这个好像是高手的活
取消只看楼主 加入收藏
唏嘘草
Rank: 2
等 级:论坛游民
帖 子:128
专家分:93
注 册:2011-6-4
收藏
得分:0 
回复 22楼 bccn_2012
我们只是学到指针,一些系统命令都没学!发给老师他坑定不信的
2011-06-06 11:11
唏嘘草
Rank: 2
等 级:论坛游民
帖 子:128
专家分:93
注 册:2011-6-4
收藏
得分:0 
回复 29楼 read_you
强悍的
2011-06-06 15:17
唏嘘草
Rank: 2
等 级:论坛游民
帖 子:128
专家分:93
注 册:2011-6-4
收藏
得分:0 
回复 31楼 C小易
我靠这么少啊
2011-06-06 17:29
唏嘘草
Rank: 2
等 级:论坛游民
帖 子:128
专家分:93
注 册:2011-6-4
收藏
得分:0 
回复 37楼 hjywyj
我想问你的是为什么我的对齐有问题啊,这个对其了,别的又不对齐了啊?能帮忙解释下吗?
基本上没问题了,就是每个月的第一行的对齐有问题.求解释啊!求指点

[ 本帖最后由 唏嘘草 于 2011-6-6 17:46 编辑 ]
2011-06-06 17:45
唏嘘草
Rank: 2
等 级:论坛游民
帖 子:128
专家分:93
注 册:2011-6-4
收藏
得分:0 
回复 39楼 hjywyj
程序代码:
#include<stdio.h>

int main()
{printf("                                                                 万年历by\n");
void abc( int year,int month);
int year,month;
for(;;)
{printf("请输入要查询的年份和月份\n");
printf("年份:");
scanf("%d",&year);
printf("月份:");
scanf("%d",&month);
for(;;)
if(year>0&&(1<=month&&month<=12))break;
else{printf("请输入正确的年份和月份\n");
printf("年份:");
scanf("%d",&year);
printf("月份:");
scanf("%d",&month);}
abc(year,month);
}
return 0;
}


void abc(int year,int month)
{int preyear;int premonth;int predays;int days; int leap;int i;
preyear=year-1;
premonth=month-1;
leap=((year%4==0&&year%100!=0)||(year%400==0))?1:0;
predays=preyear*365+preyear/4+preyear/400-preyear/100;
switch(premonth)
{case 1:predays+=31;break;

 case 2:predays+=59;break;

 case 3:predays+=90;break;

 case 4:predays+=120;break;

 case 5:predays+=151;break;

 case 6:predays+=181;break;

 case 7:predays+=212;break;

 case 8:predays+=243;break;

 case 9:predays+=273;break;

 case 10:predays+=304;break;

 case 11:predays+=334;break;

 
}
if(leap&&month>=3)predays++;

if(leap)printf("闰年 ");else printf("平年 ");
switch(month)
{case 1:days=31;printf("1月 ");break;

 case 2:days=29;printf("2月 ");break;

 case 3:days=31;printf("3月 ");break;

 case 4:days=30;printf("4月 ");break;

 case 5:days=31;printf("5月 ");break;

 case 6:days=30;printf("6月 ");break;

 case 7:days=31;printf("7月 ");break;

 case 8:days=31;printf("8月 ");break;

 case 9:days=30;printf("9月 ");break;

 case 10:days=31;printf("10月 ");break;

 case 11:days=30;printf("11月 ");break;

 case 12:days=31;printf("12月 ");break;
}
if(leap&&month==2)days=28;
printf("%d\n",year);
printf("   日   一   二   三   四   五   六\n");
predays%=7;
for(i=1;i<=predays;i++)
printf("       ");
for(i=1;i<=days;i++)
{printf(" %4d",i);
if((i+predays)%7==6)printf("\n");
}
printf("\n");
printf("\n");
}

                  我用VC++6.0  我自己写的,但是对其存在问题,主要是每个月的第一行,而且有的月份能对齐有的月份对不齐,不知道是什么原因?求指点
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 唏嘘草 于 2011-6-6 18:03 编辑 ]
2011-06-06 17:57
唏嘘草
Rank: 2
等 级:论坛游民
帖 子:128
专家分:93
注 册:2011-6-4
收藏
得分:0 
回复 41楼 hjywyj
你说清楚点啊,是空几个啊,我貌似都试过了 啊
2011-06-06 18:25
唏嘘草
Rank: 2
等 级:论坛游民
帖 子:128
专家分:93
注 册:2011-6-4
收藏
得分:0 
回复 41楼 hjywyj
不行的我把你的复制下去弄也不能还是对不齐
2011-06-06 18:32
唏嘘草
Rank: 2
等 级:论坛游民
帖 子:128
专家分:93
注 册:2011-6-4
收藏
得分:0 
回复 44楼 hjywyj
大哥,这个有点不理解,能不能加注解啊!不然不好理解啊!
2011-06-07 07:55
唏嘘草
Rank: 2
等 级:论坛游民
帖 子:128
专家分:93
注 册:2011-6-4
收藏
得分:0 
经过一番折腾 ,解决了对齐的问题,这个万年历最终大功告成!
2011-06-08 13:25
唏嘘草
Rank: 2
等 级:论坛游民
帖 子:128
专家分:93
注 册:2011-6-4
收藏
得分:0 
回复 47楼 官人
呵呵,这样对刚学的人来说折腾的有意义
2011-06-08 18:00
快速回复:求万年历的代码!这个好像是高手的活
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021975 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved