peterfeng

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  22 随笔 :: 1 文章 :: 46 评论 :: 0 Trackbacks

根据项目的需求,自己写了段万年历的小程序,该程序实现的功能很简单,能根据某个日期求出对应的星期。本来想copy网上现成的程序,但上网一google,都是相互的转载,错误很多,而且不是能让人很看明白的那种,索性自己写了。其实万年历的算法真的很简单,只要知道了某个参考日期所对应的星期,其他的就都可以知道了。下面是子程序的源代码,保证可以编译运行^0^
int WeekDay(int year,int month,int day)
{
    int temp_year=1900,temp_month=1,temp_day=1;\\参考变量,1900年1月1日刚好是星期一;
    int large_years=0,small_years=0;                           \\large_years代表润年,small_years代表平年;
    int large_months=0,small_months=0;                      \\large_months代表大月,small_months代表小月;
    int large_feb=0,small_feb=0;                                   \\large_feb代表润年的二月,small_feb代表平年的二月;
    long total_days;                                                        \\输入日期&参考日期之间的总天数;

    for(temp_year=1900;temp_year<year;temp_year++)\\计算输入的年和参考年1900年之间润年&平年的个数
    {
        if(temp_year%4==0&&temp_year%100!=0||temp_year%400==0)
         large_years++;
        else
         small_years++;
    }

    for(temp_month=1;temp_month<month;temp_month++)\\计算输入的月和参考月1月之间大月&小月的个数以及该年二月是润年还是平年的
    {
        if(temp_month==1||temp_month==3||temp_month==5||temp_month==7||temp_month==8||temp_month==10||temp_month==12) 
         large_months++;
        if(temp_month==4||temp_month==6||temp_month==9||temp_month==11)
         small_months++;
        else
        {
            if(year%4==0&&year%100!=0||year%400==0)
             large_feb++;
            else
             small_feb++;
        }
    }

    total_days=366*large_years+365*small_years+31*large_months+30*small_months+(day-temp_day);
    return (int)(total_days%7);        \\返回该日期对应的星期,0-周一;1-周二;……6-周日;

posted on 2006-11-15 13:40 peterfeng 阅读(517) 评论(8)  编辑 收藏 引用 所属分类: program

评论

# re: 万年历小程序 2006-11-17 11:09 hunter
测试过,有问题,的确  回复  更多评论
  

# re: 万年历小程序 2006-11-17 17:31 r3r
不错!不错!
[url=http://www.jinwangtape.com">http://www.jinwangtape.com]透明胶带[/url][url=http://www.jinwangtape.com">http://www.jinwangtape.com]胶带[/url][url=http://www.ntpmmc.obm.cn]磨床[/url][url=http://www.htsb.com.cn">http://www.htsb.com.cn]风机消声器[/url][url=http://www.htsb.com.cn">http://www.htsb.com.cn]风机消音器[/url][url=http://ntscjx.zj.com]离心通风机[/url][url=http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn]过滤器[/url][url=http://www.ccfj.obm.cn]除尘风机[/url][url=http://www.adhesivetape.obm.cn]胶带[/url][url=http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn]消声器[/url][url=http://www.ntnhj.obm.cn]捏合机[/url][url=http://www.ntefj.obm.cn">http://www.ntefj.obm.cn]离心通风机[/url][url=http://www.ntefj.obm.cn">http://www.ntefj.obm.cn]锅炉通风机[/url][url=http://www.chinacomposites.com.cn">http://www.chinacomposites.com.cn]玻璃钢模具[/url][url=http://www.chinacomposites.com.cn">http://www.chinacomposites.com.cn]格栅[/url][url=http://www.qdhhj.obm.cn">http://www.qdhhj.obm.cn]混合器[/url][url=http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn]过滤器[/url][url=http://www.qdhhj.obm.cn">http://www.qdhhj.obm.cn]混合机[/url][url=http://www.fjxsq.obm.cn">http://www.fjxsq.obm.cn]风机消声器[/url][url=http://www.fjxsq.obm.cn">http://www.fjxsq.obm.cn]风机消音器[/url][url=http://www.blggs.obm.cn]玻璃钢格栅[/url][url=http://www.goepe.com/company/show.php?uid=zngfj]除尘风机[/url]  回复  更多评论
  

# re: 万年历小程序 2006-11-20 22:07 peterfeng
程序应该是没有问题的,在VC++6.0编译成功的!有问题,请做具体描述!  回复  更多评论
  

# re: 万年历小程序 2006-11-22 18:12 张生云
我来试用一下。。。。。  回复  更多评论
  

# 玻璃瓶 2008-04-09 14:23 玻璃瓶
[url=http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com]玻璃瓶[/url]
[url=http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com]玻璃瓶[/url]
[url=http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com]玻璃瓶[/url]
[url=http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com">http://www.hrb-glass.com]玻璃瓶[/url]
  回复  更多评论
  

# 办公自动化 2008-04-09 14:25 办公自动化
[url=http://www.aaoooo.com.cn]google排名[/url]
[url=http://www.aaoooo.net.cn]google优化[/url]
[url=http://www.aaoooo.com.cn/wangzhan.html]杭州网站建设[/url]
[url=http://www.aaoooo.com.cn/oa/oa.html]oa[/url]
[url=http://www.aaoooo.com.cn/oa/oa.html]办公自动化[/url]
  回复  更多评论
  

# 基金净值 2008-04-09 14:27 基金净值
[url=http://www.etf88.com">http://www.etf88.com">http://www.etf88.com">http://www.etf88.com]基金净值[/url]
[url=http://www.etf88.com">http://www.etf88.com">http://www.etf88.com">http://www.etf88.com]基金净值[/url]
[url=http://www.etf88.com">http://www.etf88.com">http://www.etf88.com">http://www.etf88.com]基金净值[/url]  回复  更多评论
  

# re: 万年历小程序 2009-05-25 11:12 会说话的哑巴
没想到冯经理是写程序的高手,真是佩服,一直以来我就对写电脑程序的人很是佩服,觉得很高深莫测,没想到我的生活圈子还让我碰到一个!嘿嘿  回复  更多评论
  

只有注册用户登录后才能发表评论。