




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上海电机学院 课课 程程 设设 计计 2014 2015 学年第一学期 课程名称 程序设计 设计题目 万年历 院 系 高职学院 专业 计算机应用技术 班级 计算机 1401 学号 36 学生姓名 茅晔豪 设计时间 2015 1 12 指导教师 唐政 提交日期 2015 1 15 第 1 页 目目 录录 1 选题的意义 2 2 总体设计 2 2 1 系统分析 2 2 2 系统概述 2 2 3 系统的构成 2 2 4 各模块的功能 2 3 系统的流程图 3 4 功能测试 4 10 5 课程设计小结 11 参 考 文 献 11 附录 源代码清单 12 15 课程设计评语及成绩评定记录 16 第 2 页 1 选题的意义 1 通过万年历的设计 使我们掌握软件开发过程的问题分析 系统设计 程序编写 测试等基本方法 2 通过万年历的设计 熟练掌握 C 中的分支 循环 数组 函数 文件操作等应用 2 总体设计 2 1 系统分析系统分析 2 2系统概述 该程序可以实现系统当前日期所在月份的日历显示功能 日期查询功能 程序的初始日期设定功能 还有把给定年份的万年历输出到 txt 文档中的功能 2 3 系统的构成 1 日历查询功能 2 日期查询 闰年判断功能 3 支持通过键盘的操作调 整年份 月份 和日期 并显示调整后的日期 4 输入任意年份 将该年份每月的日历输 入文件 2 4 各模块的功能及分析 1 定义全局变量及数组 2 程序共由十一个函数组成 其功能分别为 a showtime 显示系统日期所在月份的日历 b refer 查询日期并显示所在年份是否为闰年 c setdate 设定系统的初始日期 d print 打印指定年份的每月日历并写入文件 e nowday 提取系统所在日 f nowmoth 提取系统所在月 g nowyear 提取系统所在年 h isleap 判断给定年份是否为闰年 i isweek 判断给定日期是星期几 周六到周日分别为 0 到 6 j errortest 判断输入的日期是否合法并给出提示 k main 主函数 程序开始运行并跳转到 showtime 函数 第 3 页 3 系统的运行流程图 系统的运行流程图 第 4 页 4 功能测试 4 1 本系统的主界面本系统的主界面 1 万年历系统 本系统的主要功能有 万年历系统 本系统的主要功能有 1 输入年月日计算星期几 2 打印任意日历 4 任意年份 判断是否为闰年 3 退出系统 谢谢使用 2 用户可根据系统提示和用户需要输入用户可根据系统提示和用户需要输入 1 4 的操作数字 的操作数字 程序主界面 第 5 页 3 当用户输入的选项不符合要求时 系统将验证并重新选择当用户输入的选项不符合要求时 系统将验证并重新选择 输入报错界面 4 2 输入输入 1 输入选项输入选项 1 进入进入 输入年月日计算星期几 输入年月日计算星期几 功能 此功能下可以输入日功能 此功能下可以输入日 期 期 第 6 页 2 输入日期为 输入日期为 2015 1 14 3 此处如果输入日期不符合要求的话 系统将报错并提示错误并重新选择 此处如果输入日期不符合要求的话 系统将报错并提示错误并重新选择 第 7 页 4 3 打印任意日历打印任意日历 1 输入选项输入选项 2 进入进入 打印任意日历打印任意日历 功能 此功能下可以打印日历功能 此功能下可以打印日历 输入日期界面 2 输入日期 输入日期 2015 1 14 第 8 页 3 打印成功 并返回 打印成功 并返回 4 4 判断是否为闰年判断是否为闰年 1 输入选项输入选项 3 进入进入 任意年份 判断是否为闰年功能任意年份 判断是否为闰年功能 功能 功能 2 输入年份 输入年份 2015 第 9 页 3 输出判断并返回 输出判断并返回 第 10 页 4 5 使用完毕 退出系统使用完毕 退出系统 1 输入选项输入选项 2 进入进入 退出系统退出系统 功能 功能 2 使用任意键退出系统使用任意键退出系统 第 11 页 5 设计小结 本次我课程设计的题目是万年历系统 根据课程设计的要求 需要我用本学期所学的 C 面向过程的知识来编写程序 利用面向过程的方法以及 C 的编程思想来完成系统 以 及参考了网上的一些 C 语言程序 在设计的过程中 我参考了大量的书籍资料 和网上的资料 我们的指导老师也一直 都在鼓舞和帮助我 最后我终于通过努力完成此次得课程设计 通过这次的课程能够设计 学习 让我对 C 语言的编程有了更深层的认识和理解 我主要负责打印任意日历的部分 一开始还很没有头绪 但经过思考和查找资料后 我很好的完成了我的任务 在这次课程设计中 我们首先对系统的整体功能进行了构思 然后用结构化分析方法 进行分析 将整个系统清楚的划分为几个模块 再根据每个模块的功能编写代码 而且尽 可能的将模块细分 最后在进行函数的调用 我们在函数的编写过程中 我们不仅用到了 for 循环 while 循环和 switch 语句 还用到了函数之间的调用 包括递归调用 由于 我们是分工编写代码 最后需要将每个人 的代码放到一起进行调试 因为我们每个人写 的函数的思想不都一样 所以在调试的过程中也遇到了困难 但经过我们耐心的修改 终 于功夫不负有心人 我们成功了 参 考 文 献 1 李龙澍 C 程序设计实训 清华大学出版社 2003 年 2 伍俊良 VISUAL C 课程设计与系统开发案例 清华大学出版社 2003 年 3 乌尼尔 Visual C 经典例程分析中国电力出版社 2000 年 4 张曜 VISUAL C 程序开发案例解析清华大学出版社 1999 年 5 宋晓宇 王永会 VISUAL C 高级编程技术与实例 中国水利水电出版社 2003 年 第 12 页 附录 源代码清单 include include include include int leap int year 判断是否为闰年 int days month int month int year 判断这个月的天数 int firstday int month int year 显示本月第一天是星期几 int menu select void f int day month year sum leap S printf n 请输入年 月 日 n scanf d d d switch month case 1 sum 0 break case 2 sum 31 break case 3 sum 59 break case 4 sum 90 break case 5 sum 120 break case 6 sum 151 break case 7 sum 181 break case 8 sum 212 break case 9 sum 243 break case 10 sum 273 break case 11 sum 304 break case 12 sum 334 break default printf data error break sum sum day if year 400 0 year 4 0 else leap 0 if leap 1 S year 1 year 1 4 year 1 100 year 1 400 sum 7 X 表示年份 C 是该年份元旦开始到这一日的天数 S 7 的系数就是星期数 01printf d S switch S 第 13 页 case 1 printf 星期一 n break case 2 printf 星期二 n break case 3 printf 星期三 n break case 4 printf 星期四 n break case 5 printf 星期五 n break case 6 printf 星期六 n break case 0 printf 星期日 n break void g int i j 1 k 1 a b month year printf n 输入年月 n scanf d d b days month month year a firstday month year printf n printf Sun Mon Tue Wed Thu Fri Sat n if a 7 for i 1 i b i printf 4d i if i 7 0 printf n if a 7 while j 4 a printf j for i 1 i b i printf 4d i if i 7 k a printf n k printf n n printf n int leap int year if year 4 0 else return 0 第 14 页 int days month int month int year if month 1 month 3 month 5 month 7 month 8 month 10 month 12 return 31 if month 4 month 6 month 9 month 11 return 30 if month 2 else return 28 int firstday int month int year int w w 1 2 month 3 month 1 5 year year 4 year 400 year 100 7 1 return w int h int year bool leap cout year if year 4 0 if year 100 0 if year 400 0 leap true else leap false else leap true else leap false if leap cout year is 闰年 else cout year is not 闰年 cout endl return 1 void main 第 15 页 for switch menu select case 1 f break case 2 printf 打印任意日历 n g break case 3 printf 输入年份 n h break case 4 printf 谢谢使用 n exit 0 int menu select char s int cn printf n n n 1 输入年月日计算星期几 n printf 2 打印任意日历 n printf 3 判断是否为闰年 n printf 4 退出系统 谢谢使用 n printf n 输入 1 4 n do s getchar cn int s 48 while cn6 return c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二手房租赁合同修改协议
- 项目管理专业人士复习的高效阶段试题及答案
- 项目管理变革实施中的难点试题及答案
- 项目管理考试知识结构分析试题及答案
- 如何做好财务预算的修订计划
- 前台文员心理素质的培养计划
- 项目管理职场技能问题及答案
- 轨道工程钢轨扣件(钢轨扣件中的聚酯垫板及尼龙件)材料采购项目招标文件
- 建立知识框架的证券从业资格证考试试题及答案
- 微生物检验的流行病学分析及试题及答案
- 土方填筑碾压试验方案(完整版)
- 往日时光(原版)钢琴双手简谱_钢琴谱_钢琴简谱
- 工地运输车辆的危险源辨识与风险防控
- RCS-985说明书V300
- 2014—2015—2《刑法总论》教学大纲(修正版)
- 《美在身边》PPT课件.ppt
- 2016年最新《援外出国人员生活待遇管理办》法
- 工程控制网测量记录
- VOC在线运维技术服务合同协议书
- 发电厂电气一次部分设计—2×300+2×200MW
- 基于深度学习的鸟类识别系统的设计与实现
评论
0/150
提交评论