为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

输入一个年月显示前后三个月日历

2013-06-26 18页 doc 158KB 14阅读

用户头像

is_146845

暂无简介

举报
输入一个年月显示前后三个月日历河北联合大学 2011-2012第2学期 《软件设计基础-C++》 课程设计报告 设计名称: 设计一个程序:输入年份和月份,显示前后三个月的日历 姓 名: 程凯 学 号: 201214680211 专业班级: 12热动2班 学 院: 冶金与能源学院 ...
输入一个年月显示前后三个月日历
河北联合大学 2011-2012第2学期 《软件设计基础-C++》 课程设计 设计名称: 设计一个程序:输入年份和月份,显示前后三个月的日历 姓 名: 程凯 学 号: 201214680211 专业班级: 12热动2班 学 院: 冶金与能源学院 设计时间: 2013/5/10至2013/5/19 设计地点: 河北联合大学 指导教师评语: 指导教师签字: 年 月 日 目 录 1.课程设计目的 3 2.课程设计任务与要求 3 3.课程设计 4 4.课程设计成果 10 5.程序调试过程 14 6.设计问题的不足和改进 15 7.课程设计心得 16 8.参考文献 16 1.课程设计目的 《软件设计基础-C++》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C++的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C++这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。 2.课程设计任务与要求: 要求: 本次课程设计利用《软件设计基础-C++》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。 要求: 1、对系统进行功能需求分析 2、设计合理的数据结构和系统框架 3、编程简练,程序功能齐全,能正确运行 4、说明书、图要清楚 5、课题完成后必须按要求提交课程设计报告 任务: 基本要求: 设计一个程序:输入年份和月份,显示前后三个月的日历 (★★) (1)要求用C++语言编程,在Visual C++环境下调试完成; (2)要求划分功能模块,各个功能分别使用函数来完成。 (3)源代码程序要有必要的注释。 3.课程设计说明书 ⑴概要设计 模块说明: 在我设计的程序中包括三个模块,分别是查询年份模块、查询平年闰年模块、判断星期几模块。这三个模块通过各自的函数实现各自的功能。例如, 查询平年闰年模块通过if函数判断是否是闰年,在判断星期几模块中多次运用for函数实现星期的判断和输出。还涉及到while循环,数组等的应用。 模块结构图: 功能模块图 (1)查询年份模块 根据所输入年份查询。 (2)查询平年闰年模块 根据输入年份看其是平年还是闰年。 (3)判断星期几模块 根据输入年月看首日是星期几。 ⑵详细设计 总体流程图: 总体流程图 各功能模块流程图: 4.课程设计成果 #include int month_day1[12]={31,28,31,30,31,30,31,31,30,31,30,31}; int month_day2[12]={31,29,31,30,31,30,31,31,30,31,30,31}; int IsLeapYear( int year ) { if(year%400==0||(year%4==0&&year%100!=0))//判断是否是闰年 return 1; else return 0; } #include using namespace std; void CaculDay(int year,int month) { int m,n,i,p;int x =year-1; m=(x/4-x/100+x/400)*366+(x-(x/4-x/100+x/400))*365;//计算当前年份到公元元年总天数 p=IsLeapYear( year ); if(p==1) { if(month!=1) {for(i=0;i>year>>month; if (month<12&&month>1) {CaculDay ( year, month-1); CaculDay ( year, month); CaculDay ( year, month+1);} if(month==1) {CaculDay ( year-1,12); CaculDay ( year, month); CaculDay ( year, 2);} if(month==12) {CaculDay ( year, month-1); CaculDay ( year, month); CaculDay ( year+1, 1);} } 例如 输入 2013 5 屏幕抓图 5.程序调试过程 : (1),保存为c++文件 (2),根据断点调试找到错误处。 (3),采用F10或F11单步调试找到精确的错误处。其中f10是跳过函数盗用,f11是进入函数体调试。一般是先用f10,确定函数输入输出是否正确(与自己想的一样),如不一样,则用f11进入函数体一步一步调试。 (4),在调试过程中,肯定得监视程序中的变量。在vc6.0的右下角有一个watch窗口,专门用来设置监视变量。在调试过程中,鼠标轻轻放在变量上也会显示该变量的值 (5),vc6.0专门为调试设置了工具箱以方便调试的进行,打开的方法如下。右键——〉在debug(或调试)选择项的勾勾上。 问题 (1).不了解一些快捷键的功能:例如 F9在当前光标所在的行下断点,如果当前行已经有断点,则取消断点. F5调试状态运行程序,程序执行到有断点的地方会停下来. F10单步执行程序. CTRL+F10运行到光标所在行. F11和F10的区别是,如果当前执行语句是函数调用,则会进入函数里面. shift+F11跳出当前所在函数. (2).英语差,有一些错误提示看不懂给调试带来很大的不便 6.设计问题的不足和改进方案 设计过程中虽然涉及到多种函数的调用,例如, 查询平年闰年模块通过if函数判断是否是闰年,在判断星期几模块中多次运用for函数实现星期的判断和输出。还涉及到while循环,数组等的应用。但没有涉及到类的应用。类是C++中最重要的组成部分,对象以及派生类都有很大用途。首先通过数组的应用,我发现自己对数组的认识还不是那么清楚。在存放每年中各月的天数时,要考虑到平年和闰年两种情况,所以要用二维数组而不可以使用一维数组。还有一个问题是没有考虑到输入年月时可能输入的年月是错误的,例如 2003 15。应该在输入后面加一个if控制输入即if(month>12){cout<<“请重新输入”<
/
本文档为【输入一个年月显示前后三个月日历】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索