| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 542 人关注过本帖, 1 人收藏
标题:编写一万年历系统,这个程序有些看不懂,大神可不可以给我分析分析
取消只看楼主 加入收藏
等等等
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2015-3-16
结帖率:66.67%
收藏(1)
 问题点数:0 回复次数:0 
编写一万年历系统,这个程序有些看不懂,大神可不可以给我分析分析
从年函数和周函数开始就不懂,还有就是输出的那个空格不知道怎么出来的
比如1号是周三,那前几个就是空起的
#include <windows.h>
#include <stdio.h>
#include <process.h>
int day_s();
int year_s();
int week_s();
void output_month();
int year,month;
int main()
{
 SYSTEMTIME time;
 GetSystemTime(&time);//获取当前系统的时间
 year=time.wYear;
 month=time.wMonth;
 printf("\t\t今天是公元%d年%d月%d日\n\n",time.wYear,time.wMonth,time.wDay);
 output_month();
 return 0;
}

int day_s()
{
 switch(month)
 {
 case 1:
 case 3:
 case 5:
 case 7:
 case 8:
 case 10:
 case 12:return 31;break;
 case 4:
 case 6:
 case 9:
 case 11:return 30;break;
 case 2:
  {
   if(year%4==0&&year%100!=0||year%400==0) return 29;
   else   return 28;
   break;
  }
 }
}

int year_s()
{
 int s=1;
 switch(month-1)
 {
 case 11:s+=30;
 case 10:s+=31;
 case 9:s+=30;
 case 8:s+=31;
 case 7:s+=31;
 case 6:s+=30;
 case 5:s+=31;
 case 4:s+=30;
 case 3:s+=31;
 case 2:
  {
   if(year%4==0&&year%100!=0||year%400==0)s+=29;
   else s+=28;
  }
 case 1:s+=31;
 }
 return s;
}

int week_s()
{
 int s=1,n;
 n=(year-1)%400;
 for(int i=1;i<=n;i++)
 {
  if(year%4==0&&year%100!=0||year%400==0)
   s+=2;
  else s+=1;
 }
 s+=year_s();
 s%=7;
 return s;
}

void output_month()
{
 int week,day,i;
 printf("\t\t公元%d年\n",year);
 printf("\t\t公元%d月\n",month);
 printf("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\n");
 day=day_s();
 week=week_s();
 for(i=1;i<=week;i++)
 {
  printf(" \t");
 }
 for(i=1;i<=day;i++)
 {
  printf("%d",i);
  if((i+week)%7==0) printf("\n");
  else printf("\t");
 }
 for(int j=1;j<=42-week-i;j++)
 {
  printf("\t");
 }
 printf("\n\n");
}

搜索更多相关主题的帖子: include return 
2015-04-08 16:01
快速回复:编写一万年历系统,这个程序有些看不懂,大神可不可以给我分析分析
数据加载中...
 
   



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

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