c,,万年历实验报告.doc
文本预览下载声明
精品学习资料范文
c,,万年历实验报告
篇一:c++万年历实验报告
实验6基于命令行窗口的日历查询程序 (综合性实验)
1.引言. 1.1实验目的:
(1) 了解程序开发环境调试工具的使用;
(2) 掌握小型系统的开发过程,学会用 C++语言解决问题。
1.2实验题目:
设计一个实用日历查询系统“万年历”,使其类似于家里的日历。方便人们查看日历信息 此项目可用:控制语句、函数、数组、循环等基本的知识点综合应用实现 它的主要功能为:根据用户输入的参数,显示相应的信息。 例如:输入年月日的具体日期,系统会输出该天是星期几; 如果输入的数据是年月,则会输出该年该月的日历信息。
1.3实验内容:
学习开发命令行窗口的日历查询程序。实验涉及的内容包含《程序语言基础(C 语言)》的大部分知识点,主要包括:三种基本的控制结构、函数和函数调用。还有一些必要的知识点,开发环境采用微软公司的 Visual Studio 6.0。
1.4 程序要求
(1)程序中必要的地方有注释
(2)对输入错误等情况要给出提示信息,要求重新输入 (3)对程序进行充分测试,包含可能的各种情况 (4)采用多文件结构组织方式来实现该项目程序
1.5 基本功能(必做)
1) 实现可以“判断指定的年份是否为闰年以及每年的天数”的函数; 2) 实现可以“判断指定的年份每一个月的天数”的函数; 3) 实现可以“显示指定某一年的日历” 的函数; 4) 实现可以“显示指定某年某一月的日历” 的函数; 5) 实现可以“显示某一天是星期几”的函数;
注意:书写和实现函数时,请在前面按如下格式添加类似注释信息: /*
函数名称:main 功能描述:主程序 创建人 :张三丰
修改记录:2012-12-24 第 1.0 版*/
1.6增强功能(选做)
1)可以实现日程计划 2) 预约提醒显示
3)公历与农历的转换
4)农历节气信息的查询显示等等
2.设计思想:
设计本万年历时我做了三个查询功能:查询某一年或某一月的万年历,查询某一天是星期几.使用多文件结构来实现,把年,月,日分作不同的函数在储存在不同的文件里.通过在main函数的中调用来实现.
3.算法分析说明
(1)计算某一天是星期几的算法:d=(year-1+(year-1)/4-(year-1)/100+(year-1)/400+days)%7 结果为0,1,2….6,分别表示星期日至六.
(2)判断某一年是否为闰年:if(year%4==0 year%100!=0||year%400==0)
4.要用到的函数和语句
主函数在功能的选择时用到了switch()语句;
实现程序的继续或退出功能时用到了do{ .. } while()循环语句 判断用if()语句;
万年历的输出用到for()循环;
5.流程图 系统流程图:
6.设计分析 7.功能过程的推导
功能1:
设计思路:
要想输出一年的日历,首先得解决输出一个月日历的问题,然后用循环输出十二个月份的。首先提示由键盘输入要显示的年份,得到年份后开始进入循环,定义月份变量month,并赋初值为1(从一月份开始),第一步,进入monthdays(int year,int month)函数判断月
份的天数,然后根据进入void printmonth(int year,int month)函数根据年月计算出该月一号是星期几并输出月份和每周的表头,由循环空出一号前面空的部分,再由另一个循环,加上前面该月天数的判断,就能输出该月的日历,此时一个月的日历输出完毕,进入第二次循环,输出下一个月的日历,知道十二个月份的日历全部输出,循环结束,第一个功能实现。
功能2:
设计思路:
第二个功能是第一个功能的一部分,只需要输出一个月的日历,这是月份不是由1开始,而是由键盘输入的,日历输出方法与第一个功能中的方法相似。 流程图:
功能3:
判断这一天是星期几,由蔡勒公式计算,得到的余数是从0到6,0对应星期日,其他的正好对应;
8.测试结果
1.开始界面:
2.测试1:
3.测试3:
9.完整的源代码 //head.h头文件//
#ifndef HEAD_H #define HEAD_H
篇二:万年历实验报告-final
哈尔滨工程大学
实验报告
实 验 名 称:________电子系统设计实验________
显示全部