`
gkvsni
  • 浏览: 6522 次
  • 性别: Icon_minigender_2
  • 来自: 益阳
文章分类
社区版块
存档分类

C语言实现简单日历

阅读更多
#include<stdio.h>
#include<stdlib.h>
int lastDay;
int isYear;
int column=0;//没行的天数,应该为7天;
char aa[27]={'M','o','n',' ','T','u','e',' ','W','e','d',' ','T','h','u',' ','F','r','i',' ','S','a','t',' ','S','u','n'};
int k=0;
int k2;
int count=0;//每周的天数;
int bb[36][40];

int judgeYear(int a);
int dayNum(int year,int month);

void details(int year ,int month,int day);


void print(int year,int month,int day);
//声明函数;年

void main()
{

printf("查询的范围是2010年1月1日到2012年12月31日");
details(2010,1,1);
int m,n;
for(int i=0;i<24;i++)
{
scanf("%d%d",&m,&n);
printf("查询的是:%d 年%d月\n\n",m,n);

print(m,n,1);
}

}


int judgeYear(int a)
{
if(((a%4==0)&&(a%100!=0))||(a%400==0))
return isYear=0;
else
return isYear=1;
}

int dayNum(int year,int month)
{
if(month==2)
{
if(judgeYear(year)==0)
return 29;
else return 28;
}
else {
switch(month)
{
case 1:  return 31;break;
case 3:  return 31;break;
case 4:  return 30;break;
case 5:  return 31;break;
case 6:  return 30;break;
case 7:  return 31;break;
case 8:  return 31;break;
case 9:  return 30;break;
case 10: return 31;break;
case 11: return 30;break;
default: return 31;
}
}
}


void details(int year ,int month,int day)
{
int column3;
bool change = false;//下个月标记;
int i,j;
//bool lastNumber = false;

for( i=0;i<36;i++)
for( j=0;j<40;j++)
{


if(i==0&&(j<4))
{

if(j<4)
{
bb[i][j]=0;
column++;
}
if(column==8)
column=1;
}


else if(change&&(column<7))       
{  

column3=column;

while(column3>0)         
{
bb[i][j++]=0;
column3--;
change=false;
}
j=j-1;

continue;
}


else if(change&&(column==7))
{
change = false;
bb[i][j] = ++k;
column++;
if(column==8)
column=1;

}


else
{

bb[i][j] = ++k;
column++;
if(column==8)
column=1;
}


if(column==8)
column=1;
if(i>=24&&i<36)
{
month = i-24+1;
year=2012;
}
else if(i>11&&i<24)
{
month = i-12+1;
year=2011;
}
else
{

month = i+1;
year=2010;
}
if((k==29)&&(month==2))
             printf("%d\n",column);


if(dayNum(year,month)==k)
{
             
k=0 ;   //天数归零;
change=true;
break;

}
}
}


void print(int year,int month,int day)
{
int i;
printf("         %d年    ",year);
printf("%d月\n",month);


for(int m=0;m<27;m++)
printf("%c",aa[m]);
printf("\n");
if(year==2010)
i = month-1;
else if(year==2011)
i=month-1+12;
else if(year==2012)
i=month-1+12+12;

int col=0;

for(int j=0;j<40;j++)
{

int number;
number = bb[i][j];
// if(j==1)
//printf("%d日",bb[3][1]);


if(number==0)
{
printf("    ");
col++;
}
else if(number>0)
{
if(number<=9)
printf("%d   ",number);
else
printf("%d  ",number);
col++;
}

if(col==7)
{
col=0;
printf("\n");
}

if(dayNum(year,month)==number)
{
printf("\n");
printf("\n");
break;
}
}

}
分享到:
评论

相关推荐

    c语言实现简单日历查询功能

    根据提供的文件信息,我们可以分析出该程序的主要目的是利用C语言实现一个简单的日历查询功能。以下将对该程序涉及的关键知识点进行详细的阐述。 ### 一、关键函数解析 #### 1. `judgeYear` 函数 该函数用于判断...

    C语言实现简单日历.md

    C语言实现简单日历.md

    C语言实现的日历

    本项目"利用C语言实现日历功能"旨在展示如何使用C语言来创建一个简单的日历程序,这既可以帮助初学者理解C语言的实际应用,也能加深对日期和时间处理的理解。 首先,我们要了解C语言中处理日期的基本方法。C语言的...

    C语言实现求日历代码

    以上分析了如何使用C语言实现一个简单的日历程序。通过对闰年的判断、计算年份开始以来的总天数以及按照特定格式显示日期,我们可以得到一个实用的日历程序。此程序不仅可以作为初学者学习C语言的基础示例,还可以...

    Easyx下C语言的简单日历程序

    在C语言中实现日历功能需要对日期和时间处理有深入的理解,通常涉及到计算月份天数、闰年规则等。 **详细知识点:** 1. **Easyx图形库**:Easyx提供了简单的函数接口,让开发者可以方便地进行窗口创建、绘图、颜色...

    C语言--日历

    ### C语言实现的日历功能解析 #### 概述 本文将详细介绍一段用C语言编写的程序,该程序能够实现一个简单的日历功能。用户只需输入指定的年月,程序即可输出对应月份的日历。该程序主要通过计算指定日期与基准日期...

    c语言简单日历

    本项目"简单日历"是一个用C语言编写的程序,旨在帮助初学者理解和实践基本的编程概念,尤其是与日期和时间处理相关的算法。 在C语言中,处理日期和时间通常涉及使用标准库中的`&lt;time.h&gt;`头文件,它提供了`time_t`...

    c语言日历程序源码,显示当前日历

    有冗错功能,用c语言编写,输入1——3000,显示该年一月日历,根据提示显示上一月,下一月,退出

    c语言实现一个简单日历

    1.输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。 2.输入年月,输出该月的日历。 3.输入年月日,输出距今天还有多少天,星期几,是否是公历节日。 最终完善版代码: 代码如下:...

    用c语言实现的简易万年历

    ### 使用C语言实现简易万年历的知识点解析 #### 一、程序背景及目标 本程序采用C语言编写,旨在创建一个简易但功能强大的万年历。它能够根据用户输入的年份和月份来显示相应的日历。此程序不仅能够展示特定月份的...

    C语言写的日历(含叙述思想的文档)

    【C语言日历程序】是计算机编程领域中的一个经典练习,它涉及到日期处理、循环控制、条件判断等C语言基础知识。下面将详细讲解这个程序的知识点。 首先,**C语言** 是一种强大的、低级别的编程语言,适用于系统编程...

    C语言编写日历

    下面,我们将详细探讨如何用C语言实现一个简单的日历程序。 首先,我们要了解日历的基本结构。一个日历通常包含月份、日期和星期几。在C语言中,我们可以定义一系列变量来存储这些信息。例如,可以用一个整型变量...

    c_date.zip_C语言 日历_单片机日历_日历单片机

    标题中的“c_date.zip_C语言 日历_单片机日历_日历单片机”表明这是一个与C语言编程相关的项目,其目标是实现一个适用于51单片机的日历功能。 51单片机是基于Intel 8051微处理器的一种广泛应用的微控制器,它具有...

    基于C语言的简单日历.zip

    这些数据结构在C语言中都有相应的实现方式,可以应用于各种不同的场景。C语言中的各种数据结构都有其优缺点,下面列举一些常见的数据结构的优缺点: 数组: 优点:访问和修改元素的速度非常快,适用于需要频繁读取...

    51单片机电子日历_C语言

    7. **延时函数**:`deley()`函数实现简单的延时,这在数码管显示的刷新和等待用户按键时非常关键。 8. **数据编码**:`update_clockstr()`, `update_alartstr()`, `update_datestr()`和`update_timerstr()`函数用于...

    C语言 设计日历

    当然,对于命令行界面,可以使用`printf()`和`scanf()`等函数来实现简单的输入输出。 为了确保代码的可读性和可维护性,我们需要遵循良好的编程习惯,例如使用有意义的变量名,编写注释,保持代码模块化。可以将...

    c语言--万年日历程序源码

    这是一个基于C语言编写的万年日历程序源码,它能够根据用户输入的年份输出该年的完整日历。程序的核心在于计算一年的天数(平年还是闰年)以及每个月的天数,并且合理地排列一周中的日期。以下是这个程序实现的一些...

    安卓版的c语言编译器如何实现简单的日历程序ZQ.txt

    安卓版的c语言编译器如何实现简单的日历程序ZQ

    用C语言实现了具有三个简单功能的万年历.zip

    总结来说,这个C语言实现的万年历项目是一个很好的学习资源,它涵盖了日期和时间处理、结构体使用、文件操作(如果包含公历假期数据库的话)等多个方面,对于编程爱好者和C语言学习者极具价值。通过分析和实践这个...

Global site tag (gtag.js) - Google Analytics