c语言编万年历

来源:百度知道 编辑:UC知道 时间:2024/06/08 19:54:42
编写一个万年历程序,能显示日历,查询任意日期。
1.日历初始化和显示。能根据系统日期进行初始化,并显示当前月份的月历,并突出显示当前日期。
2.日期查询,可以输入一个日期,然后查询并正确显示日期所在月份的月历,并突出显示查询日期,如果输入日期不正确给出提示。
3.支持键盘操作,按上下键更改年份,按左右键更改月份,按上下翻页键更改突出显示日期,按空格键可以返回初始状态更改后能将更新后的月份显示出来。
注意键盘操作的实现及字体颜色的改变。

以上是要求,其中“按上下翻页键更改突出显示日期,按空格键可以返回初始状态更改后能将更新后的月份显示出来”不知道什么意思,希望能解释一下。
还有怎样实现键盘操作及字体颜色的改变?

解答后再追加积分
注意:是c程序,不是c++
回答怎样实现要求里面的“键盘操作”及“字体颜色的改变”也可以
编译系统是Visual C++ 6.0

MARK
等起看代码和算法

看下[完正的C语言万年历.

http://hi.baidu.com/ryw12403/blog/item/0a54e5d79a8386daa044df70.html

看看合意不:
http://zhidao.baidu.com/question/78618176.html

你出的题目是不是C++大作业?应该是300行以内就可以搞定的程序。不过在这写肯定是地方不够的。

给你一个我写的输入年份,输出十二个月的月历的程序,不过是在控制台下的。比较难懂的是其中WeekDay给定年月日给出当天的星期和当月天数这个函数,不过这是一个经典算法,你可以自己找找资料。

主要用的东西就是MFC中有关日期类、有关文本输出、有关键盘消息处理的知识,还是自己认真看看书搞一搞吧,呵呵。

===========我是分割线=============
#include <stdio.h>

void printClander(unsigned int _year, unsigned int _month);

unsigned char WeekTab[] = {//闰年月星期表
(3 << 5) + 31,//1月
(6 << 5) + 29,//2月
(0 << 5) + 31,//3月
(3 << 5) + 30,//4月
(5 << 5) + 31,//5月
(1 << 5