一个日历小程序.

原创 2006年06月05日 17:52:00


#include<stdio.h>
#define Sunday 0
#define Monday 1
#define Tuesday 2
#define Wednesday 3
#define Thursday 4
#define Friday 5
#define Saturday 6
void GiveInstructions(void);/*输出介绍*/
int GetYearFromUser(void);/*用户输入年份*/
void PrintCalendar(int year);
void PrintCalendarMonth(int month,int year);
void IndentFirstLine(int weekday);
int MonthDays(int month,int year);
int FirstDayOfMonth(int month,int year);/*月的第一天*/
char* MonthName(int month);/*月份的名称*/
int IsLeapYear(int year);
int IsLeapYear(int year)
 {if(((year%4==0)&&(year%100!=0))||(year%400==0))
    return(1);
    else return(0);
 }


/*main program*/
void main()
{
    int year;
    GiveInstructions();
    year=GetYearFromUser();
    PrintCalendar(year);
    getch();
    }

void GiveInstructions(void)
{
printf("This program displays a calender for a null/n");
printf("year,the year must not before 1900/n");
 }
 int GetYearFromUser(void)
 {int year;
    while(1){
        printf("which year?");
        scanf("%d",&year);
        if(year>=1900) return(year);
        printf("the  year must be at least 1900/n");
        }
   }
void PrintCalendar(int year)
{
int month;
    for(month=1;month<=12;month++){
            PrintCalendarMonth(month,year);
            printf("/n");
            }
   }

void PrintCalendarMonth(int month,int year)
{
int weekday,ndays,day;
printf("     %s,   %d/n/n",MonthName(month),year);
printf(" Su Mo Tu We Th Fr Sa /n");
ndays=MonthDays(month,year);
weekday=FirstDayOfMonth(month,year);
IndentFirstLine(weekday);
    for(day=1;day<=ndays;day++){
        printf("%3d",day);
        if(weekday==Saturday)printf("/n");
        weekday=(weekday+1)%7;
        }
       if(weekday!=Sunday)printf("/n");
    }
void IndentFirstLine(int weekday)
{int i;
    for(i=0;i<weekday;i++){
    printf("   ");
    }
 }
int MonthDays(int month,int year)
{switch(month){
    case 2:
        if(IsLeapYear(year)) return(29);
        return(28);

    case 4:case 6: case 9: case 11:
        return(30);
    default: return(31);
}
 }
int FirstDayOfMonth(int month,int year)
{int weekday,i;
    weekday=Monday;
        for(i=1900;i<year;i++)
        {weekday=(weekday+365)%7;
       if(IsLeapYear(i))weekday=(weekday+1)%7;
           }
      for(i=1;i<month;i++){
        weekday=(weekday+MonthDays(i,year))%7;
        }
        return(weekday);
        }
char* MonthName(int month)
{switch(month){
    case 1:return("Januray");
    case 2:return("Februay");
    case 3:return("Marth");
    case 4:return("April");
    case 5:return("May");
    case 6:return("June");
    case 7:return("July");
    case 8:return("Augest");
    case 9:return("September");
    case 10:return("October");
    case 11:return("November");
    case 12:return("December");
    default:return("illegal month");
    }
}

 

一个显示当前月的日历的java小程序

import java.text.DateFormatSymbols; import java.util.Calendar; import java.util.GregorianCalendar;...
  • ssxian1048176092
  • ssxian1048176092
  • 2014年05月12日 15:29
  • 681

Java实现简单的日历小程序之Java图形界面开发小日历

今天给大家介绍一下如何用Java swing开发一款简单的小日历,下面我们来看代码: 首先创建一个CalendarBean类,用于基本的日期计算: package other1; import ...
  • llqqxf
  • llqqxf
  • 2016年07月14日 15:59
  • 14355

Java编写日历程序,显示当前月份及日期

界面显示效果: 代码及解析: import java.text.DateFormatSymbols; import java.util.Calendar; import java.util.Greg...
  • u013911563
  • u013911563
  • 2016年02月16日 17:39
  • 887

Java实现简单的日历小程序之Java图形界面开发小日历

首先创建一个CalendarBean类,用于基本的日期计算: package other1; import java.util.Calendar; public class Cale...
  • vv___
  • vv___
  • 2017年11月04日 23:27
  • 305

下一天(Java swing写的一个日历小程序)

同样,还是一个作业。 软件测试与质量保证的作业。 我写代码。 不用我测试。 下面贴代码。 贴图: 程序入口:package guoyang; public class Main { ...
  • guoyang1305584135
  • guoyang1305584135
  • 2017年04月11日 16:14
  • 684

Java 日历的小程序

Java写的日历小程序,算法效率虽然不算很高,却是简单实用的 CalendarBean.java import java.util.Calendar;    public class Cale...
  • qq_29945661
  • qq_29945661
  • 2016年11月18日 21:58
  • 734

微信小程序日历

源码下载地址:https://github.com/lengyue1084/wxapp-calendar 项目需要一个日历功能,实现的微信小程序日历,js大小只有几k,引入了bootstrap字体图标...
  • lengyue1084
  • lengyue1084
  • 2017年05月06日 09:52
  • 4095

java的Applet编写的日历小工具

日历效果: 实现代码: package com.test; import java.awt.BorderLayout; import java.awt.Color; import java....
  • abc_email
  • abc_email
  • 2017年06月26日 13:52
  • 155

【前端】小程序日历控件分享

之前小程序开发需要用到日历控件,但是关于小程序可用的实在资源有限,于是就自己写了一个,如今项目上线后将它分享出来,希望能帮到需要的人。 效果图: JS代码:dateData: function...
  • insistlzh
  • insistlzh
  • 2017年10月26日 17:07
  • 1019

很实用的一个小程序(日历)

package java320; import java.util.Scanner; public class P3 { public static void main(...
  • javanbme
  • javanbme
  • 2017年03月20日 11:19
  • 72
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个日历小程序.
举报原因:
原因补充:

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