显示年历C++课程设计报告

上传人:206****923 文档编号:90430409 上传时间:2019-06-12 格式:DOC 页数:13 大小:147.01KB
返回 下载 相关 举报
显示年历C++课程设计报告_第1页
第1页 / 共13页
显示年历C++课程设计报告_第2页
第2页 / 共13页
显示年历C++课程设计报告_第3页
第3页 / 共13页
显示年历C++课程设计报告_第4页
第4页 / 共13页
显示年历C++课程设计报告_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《显示年历C++课程设计报告》由会员分享,可在线阅读,更多相关《显示年历C++课程设计报告(13页珍藏版)》请在金锄头文库上搜索。

1、年历显示 2011137209 汪厚鑫目录一、设计任务,目的与要求21.设计内容:22.设计目的:23.设计要求:3二、概要设计31.需求分析:32.设计流程:31设计要求:32总体设计:4三、运行结果及分析51.程序运行测试:52.进入程序菜单:53.1号键功能:63.2号键功能:64.3号键功能:75.0号键功能:7四、源代码.7一、设计任务,目的与要求1.设计内容:年历显示功能要求:1输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。2输入年月,输出该月的日历。3输入年月日,输出距今天还有多少天,星期几,是否是公历节日。2.设计目的:本课程设计是计算机

2、科学与技术专业重要的实践性环节之一,是在学生学习完程序设计语言C+(或C)课程后进行的一次全面的综合练习。本课程设计的目的和任务: 1. 巩固和加深学生对C+(或C)语言课程的基本知识的理解和掌握 2. 掌握C+(或C)语言编程和程序调试的基本技能 3. 利用C+(或C)语言进行基本的软件设计 4. 掌握书写程序设计说明文档的能力 5. 提高运用C+(或C)语言解决实际问题的能力3.设计要求:1. 分析课程设计题目的要求2. 写出详细设计说明3. 编写程序代码,调试程序使其能正确运行4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告及程序代码二、概要设计1.需求分析:目前的计

3、算机日历程序,比较典型的是Windows各版本中的日历程序以及基于该程序所开发的各种应用程序中的日历程序。然而,这些程序都是千遍一律的局限于一个很短的时间内。但是,很多情况下,特别是在众多的科学领域中,一个时间跨度较大的程序是有参考价值的。C+程序设计语言充分发挥了其自身无与伦比的优越性,用极短的程序文本就弥补了这一领域的空白。万年历作为日常中的一种小工具,它具有多方面的小工能,主要在日期的显示上给人以直观的表达效果,在日期的查询上方便简洁,还有就是在某些节日的提醒上都给我们带来极大的方便 ,是一种比较实用的小工具。给人的需求性很大,学生在做此万年历课程设计的同时,能够认识到C+编程给人带来的

4、便捷,也能够清楚万历年表编程的出入。对培养学生的创新能力和动手能力具有很大的作用。2.设计流程:1设计要求:(1)程序运行时,首先给4出个菜单选项的内容和输入提示:1 显示某一年的日历2 显示某一月的月历3查找某一天0 退出(2)用户可以通过主菜单选择不同的选项:若选择1,则通过输入年份,显示输出该年每个月的日历;若选择2,则通过输入年月,显示输出该月的日历;若选择3,则通过输入年月日,输出该天所在月的月历、该天是星期几、是否阳历节日、距今多少天;若选择0,则退出。2总体设计:据输入的年份打印该年的年历据输入的年月打印该月的月历据输入的日期打印该天所在月的月历并判断是否阳历节日退出1. 显示一

5、年的年历2. 显示一月的月历3. 查找一天0. 退出显示年历、月历或查找结果进入程序 (流程图)依据课程设计的要求,需要设计一个菜单功能,进入程序后,有菜单可以提供选择,选择1,进入年历显示阶段,年历显示完毕,再次进入菜单选择。选择2,进入月历显示阶段,月历显示完毕,再次进入菜单选择。选择3,进入日期查询阶段,日期查询完毕,再次进入菜单。选择0,退出程序。三、运行结果及分析1.程序运行测试:在电脑中打开C+应用程序, 首先进入VC+6.0,将程序代码输入,编译,组建,调试。观察运行结果,和各个功能情况。2.进入程序菜单: (图1:菜单页面)说明:该页面表示进入菜单选项,根据选项进入相应的功能。

6、3.1号键功能:输入1,按enter键后:输入要显示的年份:2013 (图2,显示2013年年历查询结果)3.2号键功能:输入2按enter键后:输入年月,例如2013 1(图3,2013年1月月历查询结果)4.3号键功能:输入3按enter键后:输入年月日,如 3013 1 1(图4,2013年 1月1查询结果)显示查询天所在月月历,并标识出该天,同时显示是否阳历节日,距今多少天。5.0号键功能: 退出程序。四、源代码#include#includeusing namespace std;int dayofmonth13=0,31,28,31,30,31,30,31,31,30,31,30,

7、31;/定义全局变量,每月的天数/函数IsLeap判断是否为闰年bool IsLeap(int year) if(year%400=0|(year%100!=0&year%4=0) return 1; else return 0; /函数getdays计算从1年1月1日起到输入日一共有多少天int getdays(int year,int month,int day) int i,sum=0;for(i=1;iyear;i+) if(IsLeap(i) sum+=366; else sum+=365; if(IsLeap(year) dayofmonth2=29;/为闰年时二月有29天for(

8、i=1;itm_sec;min = local_time-tm_min ;h = local_time-tm_hour ;d = local_time-tm_mday ;m = local_time-tm_mon+1;y = local_time-tm_year+1900;sum=getdays(y,m,d);return sum;/打印一年的年历void printyear()system(cls);int s,year,month; int a10,b10;coutyear;cout=The Calender of Year year=endl; int i=1; for(i=1;i=12

9、/3;i+) /3确定每一行显示三个月的月历 cout-endl;for(int h=1;h=3;h+)int m=3*(i-1)+h; cout m月 ; /打印月份名称 coutendl-endl; for(int j=0;j3;j+)coutSu Mo Tu We Th Fr Sa ; coutendl; for(int j=0;j3;j+) month=3*(i-1)+j+1; s=getdays(year,month,1); /计算从年月日起到所查找年每月第天一共有多少天s=s%7; for(int m=0;ms;m+) cout ;/每月第一天之前打印空格if(IsLeap(yea

10、r) dayofmonth2=29; bj=dayofmonthmonth; for(int k=1;k8-s;)/由1开始打印每月月历第一行coutsetw(2)setfill( )k ;k+;aj=k;cout ; coutendl; for(int w=1;w=5;w+)/打印每月月历其余行for(int j=0;j3;j+) int m=1; for(m=1;mbj) break; coutsetw(2)setfill( )aj ; if(m=7) coutbj,n=8-m;n+)coutbj&m!=8) cout ; coutendl; cout=endl; /打印某3月的月历 void printfmonth(int year,int month ,int day)system(cls);int i,s; s=getdays(year,month,1); /计算从1年1月1日起到所查找月第一天一共有多少天s=s%7;coutyear 年month 月?endl;cout SuntMontTuetWedtThutFritSatn;/for ( i = 0; i s; +i )c

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号