设计一个程序:输入年份和月份-显示前后三个月的日历

上传人:F****n 文档编号:100179178 上传时间:2019-09-22 格式:DOC 页数:16 大小:123KB
返回 下载 相关 举报
设计一个程序:输入年份和月份-显示前后三个月的日历_第1页
第1页 / 共16页
设计一个程序:输入年份和月份-显示前后三个月的日历_第2页
第2页 / 共16页
设计一个程序:输入年份和月份-显示前后三个月的日历_第3页
第3页 / 共16页
设计一个程序:输入年份和月份-显示前后三个月的日历_第4页
第4页 / 共16页
设计一个程序:输入年份和月份-显示前后三个月的日历_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《设计一个程序:输入年份和月份-显示前后三个月的日历》由会员分享,可在线阅读,更多相关《设计一个程序:输入年份和月份-显示前后三个月的日历(16页珍藏版)》请在金锄头文库上搜索。

1、河北联合大学2011-2012第2学期 软件设计基础-C+课程设计报告设计名称: 设计一个程序:输入年份和月份,显示前后三个月的日历 姓 名: 张帅豪 学 号: 2 专业班级: 11化工2班 学 院: 化学工程学院 设计时间: 2012-5-12 设计地点: 河北联合大学 成绩:指导教师评语: 指导教师签字: 年 月 日阳气决定着脏腑的工作能力,而脏腑的工作能力又决定着身体的健康状况和寿命,所以说,想要身体好一点,寿命长一点,就要学会保护好我们的阳气,增加阳气。健康人晒晒太阳,就能吸收到充足的阳气了,但对于老年人和体质特别虚弱的人来说,恐怕吸收来的阳气也不够解燃眉之急的软件设计基础-C+课程设

2、计报告 第 17 页,共 17 页目 录1.课程设计目的2.课程设计任务与要求3.课程设计说明书4.课程设计成果5.程序调试过程6.设计问题的不足和改进方案7.课程设计心得8.参考文献1课程设计目的软件设计基础-C+课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C+的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C+这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。2课程设计任务与要求:要求:本次课程设计利用软件设计基础-C+课程

3、中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。要求:1、对系统进行功能需求分析2、设计合理的数据结构和系统框架3、编程简练,程序功能齐全,能正确运行4、说明书、流程图要清楚5、课题完成后必须按要求提交课程设计报告任务: 基本要求: 设计一个程序:输入年份和月份,显示前后三个月的日历 ()(1)要求用C+语言编程,在VisualC+环境下调试完成; (2)要求划分功能模块,各个功能分别使用函数来完成。 (3)源代码程序要有必要的注释。3课程设计说明书概要设计模块说明:在我设计的程序中包括三个模块,分别是查询年份模块、

4、查询平年闰年模块、判断星期几模块。这三个模块通过各自的函数实现各自的功能。例如, 查询平年闰年模块通过if函数判断是否是闰年,在判断星期几模块中多次运用for函数实现星期的判断和输出。还涉及到while循环,数组等的应用。 模块结构图:日历查询年份月份判断平年闰年判断星期几 功能模块图(1)查询年份模块根据所输入年份查询。(2)查询平年闰年模块根据输入年份看其是平年还是闰年。(3)判断星期几模块根据输入年月看首日是星期几。YYYNNNnnInt t=year-1,iyear=year-1month=12month= =0开始int year,month,1month= =0 |month= =

5、13输入年份和月份year=year+1month=1i=1!(year%4)&year%100 |!(year%400)i=1NYYYYNNNnnInt t=year-1,iyear=year-1month=12month= =0开始int year,month,1month= =0 |month= =13输入年份和月份year=year+1month=1i=1!(year%4)&year%100 |!(year%400)i=1NY详细设计 总体流程图:YNimonth-1t+=mon_day1i-1i+imonth-1t+=mon_day0i-1i+NYt%7t = (1+t+t/4-t/

6、100+t/400)%7return t 总体流程图各功能模块流程图:YYYNNNnn结束year=year-1month=12month= =0开始int year,month,1month= =0 |month= =13输入年份和月份year=year+1month=1图1 判断年份和月份 YYNYNNt%7t = (1+t+t/4-t/100+t/400)%7return t结束t+=mon_day0i-1i+t+=mon_day1i-1i+imonth-1IsLeapYear(year) IsLeapYear( intint t=year-1,i开始i=1i=1imonth-1图2 判

7、断当前年月首日是星期几NYint yearreturn 1!(year%4)&year%100 |!(year%400)开始return 0结束 图3 判断平年,闰年t+=mon_day1i-1 4课程设计成果#include using namespace std; const int mon_day212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31; int IsLeap(int year) if(year%400=0 | (year%4=0 & year%100!=0) return 1;

8、 else return 0; void ShowCalenDar(int y,int m) if(m=0)m=12,y=y-1;if(m=13)m=1,y=y+1;int i=0,j=0,t=0,n=0; t = y-1; t = (1+t+t/4-t/100+t/400)%7; /t为当前年份一月一号的星期 n = IsLeap(y); for(i=1;im;i+) t +=mon_dayni-1; t %= 7; if(t=0) t = 7; /计算后的t为当前年份当前月份一号的星期 coutendl; couty年 m月endl; cout-endl; cout 一 二 三 四 五 六

9、 日endl; for(j=1;jt;j+) cout ; for(j=1;j=mon_daynm-1;j+) printf(%4d,j); t+; if(t=8) coutendl; /控制输出的整齐 t = 1; if(t!=1) coutendl; cout-endl; coutendl; int main() int year,month; while(1) coutyearmonth; ShowCalenDar(year,month-1); ShowCalenDar(year,month); ShowCalenDar(year,month+1); return 0; 屏幕抓图(1).

10、编译,连接后无错误和警告,接着运行会显示下图:(2).按照提示信息输入年和月不妨输入2003年1月 即(2003 1)5.程序调试过程步骤:(1),保存为c+文件(2),根据断点调试找到错误处。(3),采用F10或F11单步调试找到精确的错误处。其中f10是跳过函数盗用,f11是进入函数体调试。一般是先用f10,确定函数输入输出是否正确(与自己想的一样),如不一样,则用f11进入函数体一步一步调试。(4),在调试过程中,肯定得监视程序中的变量。在vc6.0的右下角有一个watch窗口,专门用来设置监视变量。在调试过程中,鼠标轻轻放在变量上也会显示该变量的值(5),vc6.0专门为调试设置了工具箱以方便调试的进行,打开的方法如下。右键在debug(或调试)选择项的勾勾上。问题(1).不了解一些快捷键的功能:例如 F9在当前光标所在的行下断点,如果当前行已经有断点,则取消断点. F5调试状态运行程序

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

当前位置:首页 > 办公文档 > 教学/培训

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