日历日历日历

原创 2015年07月07日 15:51:54
原版始于2012.1.10

#include "stdio.h"
#include "conio.h"
#include "time.h"
#include "stdlib.h"

void diao(int year,int month);//第一个被调用函数,只是获得space;
int leap(int year);//是闰年加1
int jjmonth(int year,int month);//计算n月的总天数
void shuchu(int space,int year,int month);//输出
int get_leap(int year);//判断是否为闰年
int month_of_day(int year, int month);//这月有几天啊

int main()
{
int year,month;
int kongzhi;
 struct tm*p;//tm结构指针
  time_t secs;//声明time_t类型变量
  time (&secs);//获取系统日期与时间
  p=localtime(&secs);//获取当地日期时间



printf("\n                                         now:%d-%d-%d  %d:%d:%d   星期%d  \n\n",
	   p->tm_mon+1,p->tm_mday,p->tm_year+1900,p->tm_hour,p->tm_min,p->tm_sec,p->tm_wday); 
year=p->tm_year+1900;
month=p->tm_mon+1;
	  diao(year,month);
	while(1)
	{
		kongzhi=getch();//用getch就不用按enter了
        
		if(kongzhi=='w')year=year+1;
        if(kongzhi=='s')year=year-1;
        if(kongzhi=='d')
		{
			month=month+1;
			if(month>12)
			{
                year=year+1;
				month=1;
			}
		}
        if(kongzhi=='a')
		{
			month=month-1;
			if(month<1)
			{
              year=year-1;
			  month=12;
			}
		}
		if(kongzhi=='c')break;
         system("cls"); //清屏清屏清屏

  printf("\n                                                  现在是:%d-%d-%d  %d:%d:%d  \n\n",
	  p->tm_mon+1,p->tm_mday,p->tm_year+1900,p->tm_hour,p->tm_min,p->tm_sec);


        diao(year,month);
	}
    system("cls");
    printf("\n\n\n\n\n\n\n\n\t\t\t\t谢谢使用");
    _sleep(10000);//延迟函数
   return 0;
}

void diao(int year,int month)
{
	int tian,space;//这个月之前的天数
	tian=(year-1600)*365+leap(year);
    tian=tian+jjmonth(year,month)-1;
	space=tian%7;//得到空格数

    shuchu(space,year,month);
}

int leap(int year)
{int yan,i=0;//1600到本年的闰年数
	for(yan=1600;yan<year;yan+=4)
		{
       if( (yan%4==0) && (yan%100 != 0) || (yan%400 == 0))i++;
	}
        return i;
}

int jjmonth(int year,int month)
{//本年已经过去天数
     if( (year%4==0) && (year%100 != 0) || (year%400 == 0))
	 {
		     switch(month-1)
				{
			    case 0:return 0;
				case 1:return 31;
				case 2:return 60;
				case 3:return 91;
				case 4:return 121;
				case 5:return 152;
				case 6:return 182;
				case 7:return 213;
				case 8:return 244;
				case 9:return 274;
				case 10:return 305;
				case 11:return 335; 
				 }
	 }
			else
			 {
              switch(month-1)
				{
			    case 0:return 0;
				case 1:return 31;
				case 2:return 59;
				case 3:return 90;
				case 4:return 120;
				case 5:return 151;
				case 6:return 181;
				case 7:return 212;
				case 8:return 243;
				case 9:return 273;
				case 10:return 304;
				case 11:return 334; 
				 }

			 }
}

void shuchu(int space,int year,int month)
{
	int i;
	 printf("                       %d年%d月                                 \n\n\n",year,month);
    printf("星期日   星期一  星期二 星期三  星期四  星期五 星期六\n");
    printf("-------------------------------------------------------\n");    
    for(i=0;i<space;i++) printf("       ");//先输出空格数
    for(i=1;i<month_of_day(year,month)+1;i++){//本月有多少天
	
      printf("%7d",i);
	  if((space+i)%7==0)printf("\n");
	}
    printf("\n");
    printf("-------------------------------------------------------\n\n");
    printf("加年w 减年s 加月d 减月a  退出按	c	\n\n\n");
}

int month_of_day(int year , int month)
{ //本月有多少天
 
    switch(month)
    {case 2:  return leap(year)?29:28;//这里起到了简化作用
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12: return 31;
    case 4:
    case 6:
    case 9:
    case 11:return 30;
    }
  
} 
/*int get_leap(int year)
{//若本年是闰年,二月加1
    if( (year%4==0) && (year%100 != 0) || (year%400 == 0))
        return 1;
    return 0;
}*/




////////////////////////////---------------------------------/



#include "stdio.h"
#include "conio.h"
#include "time.h"
#include "stdlib.h"

void diao(int year,int month);//第一个被调用函数,只是获得space;
int leap(int year);//是闰年加1
int jjmonth(int year,int month);//计算n月的总天数
void shuchu(int space,int year,int month);//输出
int get_leap(int year);//判断是否为闰年
int month_of_day(int year, int month);//这月有几天啊

int main()
{
int year,month;
int kongzhi;
 struct tm*p;//tm结构指针
  time_t secs;//声明time_t类型变量
  time (&secs);//获取系统日期与时间
  p=localtime(&secs);//获取当地日期时间



printf("\n                                         now:%d-%d-%d  %d:%d:%d   星期%d  \n\n",
	   p->tm_mon+1,p->tm_mday,p->tm_year+1900,p->tm_hour,p->tm_min,p->tm_sec,p->tm_wday); 
year=p->tm_year+1900;
month=p->tm_mon+1;
	  diao(year,month);
	while(1)
	{
		kongzhi=getch();//用getch就不用按enter了
        
		if(kongzhi=='w')year=year+1;
        if(kongzhi=='s')year=year-1;
        if(kongzhi=='d')
		{
			month=month+1;
			if(month>12)
			{
                year=year+1;
				month=1;
			}
		}
        if(kongzhi=='a')
		{
			month=month-1;
			if(month<1)
			{
              year=year-1;
			  month=12;
			}
		}
		if(kongzhi=='c')break;
         system("cls"); //清屏清屏清屏

  printf("\n                                                  现在是:%d-%d-%d  %d:%d:%d  \n\n",
	  p->tm_mon+1,p->tm_mday,p->tm_year+1900,p->tm_hour,p->tm_min,p->tm_sec);


        diao(year,month);
	}
    system("cls");
    printf("\n\n\n\n\n\n\n\n\t\t\t\t谢谢使用");
    _sleep(10000);//延迟函数
   return 0;
}

void diao(int year,int month)
{
	int tian,space;//这个月之前的天数
	tian=(year-1600)*365+leap(year);
    tian=tian+jjmonth(year,month)-1;
	space=tian%7;//得到空格数

    shuchu(space,year,month);
}

int leap(int year)
{int yan,i=0;//1600到本年的闰年数
	for(yan=1600;yan<year;yan+=4)
		{
       if( (yan%4==0) && (yan%100 != 0) || (yan%400 == 0))i++;
	}
        return i;
}

int jjmonth(int year,int month)
{//本年已经过去天数
int y=0;                 //起到简化作用

if( (year%4==0) && (year%100 != 0) || (year%400 == 0))y=1;
	
           switch(month-1)
				{
			    case 0:return 0;
				case 1:return 31;
				case 2:return 59+y;
				case 3:return 90+y;
				case 4:return 120+y;
				case 5:return 151+y;
				case 6:return 181+y;
				case 7:return 212+y;
				case 8:return 243+y;
				case 9:return 273+y;
				case 10:return 304+y;
				case 11:return 334+y; 
				 }

			 
}

void shuchu(int space,int year,int month)
{
	int i;
	 printf("                       %d年%d月                                 \n\n\n",year,month);
    printf("星期日   星期一  星期二 星期三  星期四  星期五 星期六\n");
    printf("-------------------------------------------------------\n");    
    for(i=0;i<space;i++) printf("       ");//先输出空格数
    for(i=1;i<month_of_day(year,month)+1;i++){//本月有多少天
	
      printf("%7d",i);
	  if((space+i)%7==0)printf("\n");
	}
    printf("\n");
    printf("-------------------------------------------------------\n\n");
    printf("加年w 减年s 加月d 减月a  退出按	c	\n\n\n");
}

int month_of_day(int year , int month)
{ //本月有多少天
 
    switch(month)
    {case 2:  return get_leap(year)?29:28;
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12: return 31;
    case 4:
    case 6:
    case 9:
    case 11:return 30;
    }
  
} 

int get_leap(int year)
{//若本年是闰年,二月加1
    if( (year%4==0) && (year%100 != 0) || (year%400 == 0))
        return 1;
    return 0;
}










非常漂亮日历JS代码

网页上的日期台历 js代码 www.pigzz.com         A.menuitem {     COLOR: menutext; TEXT-DECORATION: none    ...
  • liuyuehui110
  • liuyuehui110
  • 2012年10月19日 11:18
  • 4428

资源日历,项目日历与任务日历

其实日历本无所谓“资源、任务、项目”的, 只是将日历付给资源后,我们习惯称之为“资源日历”; 只是将日历付给任务后,我们习惯称之为“任务日历”; 只是将日历付给项目后,我们习惯称之为“项目日历”...
  • carolzhang8406
  • carolzhang8406
  • 2010年06月06日 14:24
  • 3863

jquery制作一个简单的日历

jquery是用的是2.0版本。 1、html代码 显示详细签到详情 * { margin: 0px; padding: 0px; font-size: 14px; ...
  • wuzhe128520
  • wuzhe128520
  • 2015年12月09日 22:38
  • 1281

Java 实训4 编写一个窗体程序显示日历

实训要求: 1.使用BorderLayout 进行总体布局 2.在North 位置放置包含两个按钮( 上月和下月)的Panel 3.在South 位置放置一个Label 用于显示当前年份和月份...
  • mcp3128
  • mcp3128
  • 2017年11月02日 18:03
  • 746

SAP维护工厂日历

维护Factory calendar:  1) 维护 Factory calendar  T code: SCAL  2) 给工厂分配日历:  IMG - Enterprise Structu...
  • wuzhong369
  • wuzhong369
  • 2013年12月11日 20:59
  • 2957

安卓简单日历的实现

最近无聊在做一个项目,需要用到日历。日历并不需要太复杂,只需要能够简单的查看就行,所以我选用了java提供的Calendar类,和安卓的gridView组合的形式....
  • jiaomenglei
  • jiaomenglei
  • 2016年08月24日 17:02
  • 2798

CSS 表格制作日历

看看最后的效果 css 的样式代码如下所示 Insert title here table.ca1 { ...
  • tianjun2012
  • tianjun2012
  • 2015年11月21日 20:36
  • 1669

Android 价格日历的实现

突然想想,很久没有写过博客了,这些天做毕设,搞论文,一直到六月中旬,回到公司发现带我的那个哥即将离职,突然发现不久以后就剩我一个android开发,其实有点惶恐,每天忙忙碌碌的做需求,改bug。今天就...
  • struggleflea
  • struggleflea
  • 2016年08月23日 15:54
  • 1128

Android小程序-日历选择器

目标效果:     运行程序后会发现对话框后边的标题栏上显示了当前的日期和时间,在第一个时间对话框更改时间后显示日期对话框时,更改过的时间又显示到了标题栏上,当在日期对话框更改日期后,标题栏...
  • hester_hester
  • hester_hester
  • 2016年04月17日 09:18
  • 1195

js生成当月日历

var date = new Date(); //当前是哪一年 var year = date.getFullYear(); //当前是哪个月,注意这里的月是从0开始计数的 var month = d...
  • crystal6918
  • crystal6918
  • 2017年04月12日 22:58
  • 1017
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:日历日历日历
举报原因:
原因补充:

(最多只允许输入30个字)