帮我写份日历查询系统

来源:百度知道 编辑:UC知道 时间:2024/05/22 12:26:55
要求1:系统有界面或菜单设计,实现功能包括:输入任一年将显示出该年的所有月份日期,对应的星期;输入任一年月,输出该月的日期及对应的星期,该月的天数;注意闰年情况;其显示格式可仿照挂历形式。
要求2:要用c程序语言编译。

本题用万年历来解决。万年历的一个完整的c程序如下,在tc和win-tc下运行通过,无需菜单。要用菜单的程序10分怕是搞不定的,这里也没必要。
#include <stdio.h>
#include <conio.h>
long int f(int year,int month)
{/*f(年,月)=年-1,如月<3;否则,f(年,月)=年*/
if(month<3) return year-1;
else return year;
}

long int g(int month)
{/*g(月)=月+13,如月<3;否则,g(月)=月+1*/
if(month<3) return month+13;
else return month+1;
}

long int n(int year,int month,int day)
{
/*N=1461*f(年、月)/4+153*g(月)/5+日*/
return 1461L*f(year,month)/4+153L*g(month)/5+day;
}

int w(int year,int month,int day)
{
/*w=(N-621049)%7(0<=w<7)*/
return(int)((n(year,month,day)%7-621049L%7+7)%7);
}

int date[12][6][7];
int day_tbl[ ][12]={{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}};
main()
{int sw,leap,i,j,k,wd,day;
int year;/*年*/
char title[]="SUN MON TUE WED