版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子科技大学成都学院电子工程系课程设计报告课 程 名 称: C语言程序设计能力教程 设 计 题 目:万年历指 导 教师组: 杨 剑 学 生 学 号: 1140810429 学 生 姓 名:王玲琳电子工程系制 2012年12月一、题目要求:用C语言编写一个万年历系统,具有公历和农历的日期显示,能显示年月日,星期几,具有记事本功能,在某个日期上可以输入纪念日,代办事项等。1. 功能要求 (1) 基本要求试设计一个万年历系统,使之能提供以下基本功能:1) 能够模拟现实中日历的形式现实公历;2)第一行显示月份(中英文都可以)3)下一行显示星期,从周日到周六,中英文都可以4)下一行开始显示日期从1号开始
2、,并按其是星期几实际情况与上面的星期数垂直对齐6) 输入公历年月日能够显示农历日期;7) 信息输入功能:对某一天输入代办事项,纪念日等文字;8) 信息删除功能:能够删除某日期对应的纪念日等文字;(2) 创新要求达到上述基本要求后,可进行创新设计,如对功能扩展等。2、 需求分析根据题目设计要求及创新,我们设计了7个菜单选项。用户可以通过键盘输入17分别进入1:年历查询,2:月历查询3:日历查询,4:农历查询,5:记事本,6:定时关机工具,7:退出系统。3、设计概要1. 进入系统时显示菜单界面及当前系统时间2. 年历查询:输入年代时,系统输出改年所有月份的日历并以日历的格式输出。3. 月历查询:输
3、入年代,月份时,系统输出该月所有天数的日历并以日历的格式输出。4. 日历查询:当输入年,月,日时,系统输出该天的日历信息,包括星期,农历,节日。5. 农历查询:用户输入年、月、日。系统输出该天对应的农历信息,包括天干地支,农历。6. 记事本:当输入年、月、日时,系统首先查询该时间是否有记事,如果没有提示是否记事,若记事则用户输入记事内容,系统将该记事内容以文本文档的形式保存。若有记事则显示该记事,并提示是否删除,若用户选择删除,则系统将该时间对应的文本删除。若不删除,则退出系统。7. 定时关机工具:进入该功能,系统提示用户选择:1、关机、2:重启、3取消计划、4:退出。其中关机和重启具有定时功
4、能。是否有记事8. 退出系统输入指令 结束存储删除查看并退出输出日历信息是否添加是否删除农历查询日历查询月历查询是否有记事输入年月输入年月日输入指令输入年月日输入年月日退出定时关机记事本农历月历年历日历 开始输入年年历查询定时关机系统是否是是输入记事4、 详细设计1. 基本函数设计1. 闰年的判断 2.每一个月天数的确定 3.该天是今年的哪一天 4今天是本周的第几天 5.星期的确定 6.输出一天的日历信息 7.格式化生成一个月的日历信息 8.输入参数的检查 9.年历查询10.节日查询 11.农历查询 12.日历显示 13.系统时间获取 14.定时关机工具2. 登录界面3.菜单功能的设计1. 年
5、历查询:年历查询,需要显示这年每个月的日历信息并以日历的格式显示出来。首先则需要判断是否为闰年来确定本年的每个月的天数,然后算出每个月每一天为星期几并以日历的格式显示。2. 月历查询:月历查询需要显示改年这个月的日历信息,并以日历的格式输出3. 日历查询:用户输入年、月、日,系统根据输入信息调用基本函数,输出该天的基本日历信息。包括星期,天干地支,农历,节日。4. 农历查询:用户输入年、月、日,系统通过输入信息调用农历查询函数,输出该天的农历信息5. 记事本:用户输入年、月、日,系统根据输入信息自动查询该时间是否有记事。若没有,则提示用户是否进行记事。若记事则用户输入记事信息,系统对输入信息已
6、文本文档的格式进行保存。若不记事则退出系统。若有记事,系统则直接输出该记事,并提示用户是否删除记事,若删除,则系统将该文本文档删除,否则退6. 定时关机工具:用户输入相应的指令,根据指令执行相应的操作。输入1,则系统提示用户输入定时关机时间。输入2,系统提示用户输入定时重启时间。输入3,系统取消定时关机或重启计划,输入4则退出系统7. 系统垃圾清理工具用户通过菜单输入系统垃圾清理的指令,系统开始自动清理系统垃圾5. 源代码int Leap_year(int year);int Month_Day(int year,int month);int Year_Day(int year,int mon
7、th,int day);int Week_Day1(int year,int month,int day);char *Week_Day2(int number);void Menu1(int year,int month,int day);void Menu2(int year,int month);int Menu3(int year,int month,int day);void Month_Display(int year,int month);void Lunar_Calendar(int year ,int month,int day);char *Festival(int mon
8、th,int day);/char *Solar_terms(char Month,char Day);void Day_Display(int year,int month,int day);void Shutdown(void );void RTC(void);void Rubbish(void);/* 函数名:闰年判断* 入口参数:year* 返回参数:闰年返回1 否则返回0int Leap_year(int year)/*定义变量*/if(year%4=0&&year%100!=0|year%400=0) /*利用函数判断输入年份是闰年还是平年*/return 1;el
9、sereturn 0;/* 函数名:月份天数确定* 入口参数:year,month* 返回参数:今年该月的天数* 调用函数:int Leap_year(int year)int Month_Day(int year,int month)int a12=31,28,31,30,31,30,31,31,30,31,30,31;/*定义数组确定12个月每个月的天数*/if(Leap_year(year) /*如果输入年份是闰年*/a1=29;/*二月29天*/return amonth-1;/* 函数名:天数查询->查询该天是今年的第几天* 入口参数:year,month,day* 返回参数:
10、该天是今年的第几天* 调用函数:day1(int year,int month)int Year_Day(int year,int month,int day)int i,sum=0;for(i=1;i<month;i+)sum+=Month_Day(year,i);sum+=day;return sum;/* 函数名:天数查询->查询该天是本周的第几天* 入口参数:year,month,day* 返回参数:返回该天是本周的第几天* 调用函数:day2(int year,int month,int day)int Week_Day1(int year,int month,int d
11、ay)int number=(year-1)+(year-1)/4-(year-1)/100+(year-1)/400+Year_Day(year,month,day);number%=7;return number;/* 函数名:星期查询* 入口参数:number* 返回参数:星期char *Week_Day2(int number)switch(number)/*分类一周七天*/case 0:return "星期日"case 1:return "星期一"case 2:return "星期二"case 3:return "
12、星期三"case 4:return "星期四"case 5:return "星期五"case 6:return "星期六"default:return "错误!请您重新输入。"/*不符和上面七种情况的报错提示*/6、实验中所遇到的问题及解决方法 在本次实验操作过程中,遇到一些语法的错误,结构上的错误,还有算法错误,但是根据读程序时的提醒,做了相应的修改,使得程序能够正常运行。7.感谢 非常感谢老师在这学期C语言上机中给予我们的指导和帮助,让我们从实践中更好地,更深刻的理解了这门学科,也掌握到了更多的知识和解决一些实际问题的方法。在一些很困难的问题上通过老师的帮助,避免了不少弯路。再次向老师的帮助表示衷心的感谢!电子科技大学成都学院20届课程设计成绩评定表学生姓名王玲琳学号1140810429专业通信工程 课程名称C语言程序设计能力教程 设计题目万年历实验要求用C语言编写一个万年历系统,具有公历和农历的日期显示,能显示年月日,星期几,具有记事本功能,在某个日期上可以输入纪念日,代办事项等。对C语言在编写程序时的用处有了更明确的认识,懂得了编写C程序的一般方法步骤。分析问题做出算法,想好思路,在心里有个大致的框架,然后按部就班的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度人工智能教育平台聘用合同终止公告
- 二零二五年度股东股份协议书:文化创意产业股份投资与管理合同
- 2025年度线上线下整合营销合作合同范本
- 二零二五年度科研实验室保洁员聘用与设备维护合同
- 2025年度跨境电商合作终止合同解除通知书模板
- 二零二五年度销售员劳务合同及业绩奖励标准
- 2025年度解除劳动合同员工离职手续办理及权益保障合同
- 卓有成效管理者的实践
- 动脉采血规范操作流程
- 大学生班级管理方法和措施
- 全国小学语文研究《低年级作文 》精品课件写话教学课件
- 附录常见感叹词及用法
- GB/T 21709.5-2008针灸技术操作规范第5部分:拔罐
- 大三上-诊断学复习重点
- 应收账款的管理培训课件
- 2021年道路交通安全法期末考试试题含答案
- 股东变更情况报告表
- 房产中介门店6S管理规范
- 吞咽解剖和生理研究
- TSG11-2020 锅炉安全技术规程
- 异地就医备案个人承诺书
评论
0/150
提交评论