文档详情

c,,万年历实验报告.doc

发布:2018-10-22约6.88千字共13页下载文档
文本预览下载声明
精品学习资料范文 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 哈尔滨工程大学 实验报告 实 验 名 称:________电子系统设计实验________
显示全部
相似文档