用C语言编写2008年历(急求!!!)

来源:百度知道 编辑:UC知道 时间:2024/06/23 17:28:42
要求:1:每行显示3个月份;
2:要有查询功能,比如输入june,则输出这一个月的月历。输入几月几日则对应输出相应的星期。
感谢这位高手,但答案格式有点不对,麻烦再改下。
要求:1、刚进入界面时,每行显示3个月份,共4行。
2、月份表(其中有对应的星期)星期用英文sunday 至 saturday表示,如
january
sd md td wd td fd sd
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
february
sd md td wd td fd sd
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
march
sd md td wd td fd sd
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
(这3个月要在第一行
然后第二行是4 5 6 月份的表,以此类推)
3、具有查询功能(这个要求已经有了)

MFC 和 delphi吗?你知道这样没有意义又很麻烦吗
没价值 自己动手修改一个函数就好了

#include<Windows.h>
#include<stdio.h>
#define DAYS 366

struct Calendar{ //日历结构体
int moon;
int day;
int week;
};
void CreateCAL(struct Calendar * year) //创建2008年日历
{
int i,j,d=0,week_t=2; //i:循环月份 j:循环日期 week_t:星期循环(2881.1.1星期2)
puts("生成2008年日历中,请等待...\n");
_sleep(2000);
system("cls");
for(i=1;i<=12;i++)
for(j=1;j<=31;j++)
{
if(i==2 && j>=30) break; //排除2月分
if((i==4 || i==6 || i==9 || i==11) && j>=31) break; //排除小月30天
if(week_t==8) week_t=1; //星期8==星期1
year[d].moon=i;
year[d].day=j;
year[d].week=week_t;
week_t++; //星期
d++; //天数
}
}
int FindWeek(struct Calendar * year,int moon,int day) //通过月份日期查询星期几
{
int i;
for(i=0;i<DAYS;i++)
{
if(year[i].moon==moon