用c语言编写一个万年历的程序,2000-2016,输入其中一个年份可以得到一到十二月的日期,包括星

用c语言编写一个万年历的程序,2000-2016,输入其中一个年份可以得到一到十二月的日期,包括星,第1张

万年历程序,您需要先了解万年历的特点

下面是万年历的特点(复制粘贴的):

1 平年365天(52周+1天),闰年366天(52周+2天)。平年2月28天,闰年2月29天。

由于公元1月1日设为星期六,故3月1日为星期三。 ——注意这个“三”

为使算法达到最简,故本算法以“星期”为计算单位。且选3月1日为基月。

2 每400年整一闰,或每4年且不为百年的一闰。(原因:地球绕太阳一周的时间是365天5小时46秒,为了使一年的天数为整数,将一年的天数定为365天,余下的时间积累起来,四年就是23小时15分4秒,将近一天,把这一天加在某年的二月而成29天,该年称为闰年,其它年称为平年。但四年加一天又多用了44分56秒,这个数积满400年为三天。因此400年中只能有97个闰年,所以凡能被400整除,或不能被100整除但能被4整除的年份为闰年。)

所以百年%4=0闰或(年%4=0并且年<>0)闰。

3 每 4年(3个平年+1个闰年)共208周+5天 ——注意这个“5天”

每百年共100(208周+5天)-1天=5217周+5天 ——注意这个“5天”(整百年暂设为平年)

每400年共4(5217周+5天)+1天(整400年闰)=20871周+0天——注意这个“0天”和“1天”(4个整百年只有一个闰年)

即400年一轮回!(原来万年历400年前是一家)

至于你说的日期和星期对齐,给你一点思路参考:每一行是7天,可以设定每一天占10个字符(同时上面的星期也得占满10个字符),假设本月第一天是星期4,那么在输出1之前需要先输出10×3个字符来占位,当输出星期天的日期之后换行,之后的就简单了

在这里,我们将用Microsoft最新推出的Net Framework-C#来创建一个万年历(文中所用的程序是一个带万年历功能的日记本)。

首先打开Microsoft的VSNET(Visual StudioNET)创建一个新项目。选择Visual C#项目,在模板中选择Windows应用程序,按“确定”后,一个Windows窗体就建好了。这就是我们平常说的Win Form啦。

下面先在Visual C#界面下把日记本的样式设计出来。需要两个万年历控件,一个用来显示、添加、编辑日记内容的“丰富的文本框”(richtextbox控件),还有一个用来添加和修改日记的按钮(button控件)。richtextbox控件和button控件都能很容易地在工具箱中找到,不用多说添加上去就可以了,关键在于万年历,我们不必自己去编写一个万年历,微软已经为我们写好了。要做的就是把它拿出来按照正确的方法使用。首先我来说说如何调用这个万年历。它是Microsoft公司VSNET产品附送的一个控件。我们在VSNET窗口下点击“项目”下拉菜单,然后选择“添加/引用”就会d出一个用于引用控件的窗体,此窗体包含三个标签,即“Net”、“COM”、“项目”。我们要用的日历控件就包含在其中的“COM”里面。点击它,然后在硬盘一阵狂响之后,会发现多出了好多控件。找到控件Microsoft Calendar Control 90。

选中这个控件,点击右边的选择按钮,控件的名称会出现在下边“选定的组件”窗口中,这时候选择下边的“确定”按钮,选定的控件便添加到你所创建的项目当中了。你可以在你的“工具箱”当中找到一个名字叫做MonthCalendar的控件和一个叫做DateTimePicker的控件,这两个控件便是我们刚才引用来的。在这里我们要用到的是第一个MonthCalendar,选择MonthCalendar控件并在窗体上划出它的轮廓。看,一个万年历便展示在我们面前了。

但是只我们能看还不行,为了能察看或者修改以前的日记还需要让程序知道我们在这个控件选择的日期是哪一天,这样才能告诉数据库,我们要调用哪一天的日记。为了方便暂时用richtextbox做显示当前日期的容器。

现在来研究一下如何让richtextbox显示MounthCalendar所选择的日期。双击MounthCalendar控件,会跳转到代码界面,并且得到一个系统为我们自动创建的事件。这个事件就是日期选择事件,是MounthCalendar控件的默认事件。

private void monthCalendar_DateChanged(object sender,

SystemWindowsFormsDateRangeEventArgs e)

{

file://事件被触发后所执行的代码

}

利用这个事件我们便可以让程序知道,用户何时重新选择了一个日期。但是如果想要让程序知道用户所选择的日期是哪一天并且让程序将这一天的日期显示在richtextbox上,我们还有一个问题,那就是如何读取用户所选择的日期,这就要用到下面这个属性

monthCalendarSelectionRangeStartToShortDateString() 。

这个属性的值便是用户所选择的日期。现在事件定义了,属性也找到了,下边让我们来看一下如何把日期显示在richtextbox容器内。

添加这段代码到事件中

richTextBoxText=monthCalendarSelectionRangeStartToShortDateString();

运行一下。当选择了一个日期后,这个日期便会显示在richtextbox内了。

这样一个万年历就完成了。从这个例子可以看到,VSNET提供了非常丰富的控件库。朋友们在使用VSNET进行编程的时候,不要浪费这些资源,它们会帮助我们节省好多宝贵的时间和精力。

以上就是关于用c语言编写一个万年历的程序,2000-2016,输入其中一个年份可以得到一到十二月的日期,包括星全部的内容,包括:用c语言编写一个万年历的程序,2000-2016,输入其中一个年份可以得到一到十二月的日期,包括星、C51单片机的万年历程序设计、c语言程序设计 万年历报告书等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9335678.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存