c语言项目设计报告
电子科技大学成都学院电子工程系
课程设计报告
课 程 名 称: C语言程序设计能力教程
设 计 题 目: 万 年 历
指 导 教师组: 杨 剑
学 生 学 号: 1140810429
学 生 姓 名: 王 玲 琳
电子工程系制
2012年12月
一、题目要求:
用C语言编写一个万年历系统,具有公历和农历的日期显示,能显示年月日,星期几,具有记事本功能,在某个日期上可以输入纪念日,代办事项等。
1. 功能要求
(1) 基本要求
试设计一个万年历系统,使之能提供以下基本功能:
1) 能够模拟现实中日历的形式现实公历;
2)第一行显示月份(中英文都可以)
3)下一行显示星期,从周日到周六,中英文都可以
4)下一行开始显示日期从1号开始,并按其是星期几实际情况与上面的星期数垂直对齐
6) 输入公历年月日能够显示农历日期;
7) 信息输入功能:对某一天输入代办事项,纪念日等文字;
8) 信息删除功能:能够删除某日期对应的纪念日等文字;
(2) 创新要求
达到上述基本要求后,可进行创新设计,如对功能扩展等。
需求分析
根据题目设计要求及创新,我们设计了7个菜单选项。
用户可以通过键盘输入1~7分别进入1:年历查询,2:月历查询
3:日历查询,4:农历查询,5:记事本,6:定时关机工具,7:退
出系统。
3、设计概要
进入系统时显示菜单界面及当前系统时间
年历查询:输入年代时,系统输出改年所有月份的日历并以日历的格式输出。
月历查询:输入年代,月份时,系统输出该月所有天数的日历并以日历的格式输出。
日历查询:当输入年,月,日时,系统输出该天的日历信息,包括星期,农历,节日。
农历查询:用户输入年、月、日。系统输出该天对应的农历信息,包括天干地支,农历。
记事本:当输入年、月、日时,系统首先查询该时间是否有记事,如果没有提示是否记事,若记事则用户输入记事内容,系统将该记事内容以文本文档的形式保存。若有记事则显示该记事,并提示是否删除,若用户选择删除,则系统将该时间对应的文本删除。若不删除,则退出系统。
定时关机工具:进入该功能,系统提示用户选择:1、关机、2:重启、3取消计划、4:退出。其中关机和重启具有定时功能。
退出系统
详细设计
基本函数设计
闰年的判断 2.每一个月天数的确定 3.该天是今年的哪一天
4今天是本周的第几天 5.星期的确定 6.输出一天的日历信息
7.格式化生成一个月的日历信息 8.输入参数的检查 9.年历查询
10.节日查询 11.农历查询 12.日历显示 13.系统时间获取 14.定时关机工具
登录界面
3.菜单功能的设计
年历查询:年历查询,需要显示这年每个月的日历信息并以日历的格式显示出来。首先则需要判断是否为闰年来确定本年的每个月的天数,然后算出每个月每一天为星期几并以日历的格式显示。
月历查询:月历查询需要显示改年这个月的日历信息,并以日历的格式输出
日历查询:用户输入年、月、日,系统根据输入信息调用基本函数,输出该天的基本日历信息。包括星期,天干地支,农历,节日。
农历查询:用户输入年、月、日,系统通过输入信息调用农历查询函数,输出该天的农历信息
记事本:用户输入年、月、日,系统根据输入信息自动查询该时间是否有记事。
若没有,则提示用户是否进行记事。若记事则用户输入记事信息,系统对输入信息已文本文档的格式进行保存。若不记事则退出系统。若有记事,系统则直接输出该记事,并提示用户是否删除记事,若删除,则系统将该文本文档删除,否则退
定时关机工具:用户输入相应的指令,根据指令执行相应的操作。输入1,则系统提示用户输入定时关机时间。输入2,系统提示用户输入定时重启时间。输入3,系统取消定时关机或重启计划,输入4则退出系统
系统垃圾清理工具
用户通过菜单输入系统垃圾清理的指令,系统开始自动清理系统垃圾
源代码
int Leap_year(int year);
int Month_Day(int year,int month);
int Year_Day(int year,int month,int day);
int Week_Day1(int year,int month,int day);
char *Week_Day2(int number);
void Menu1(int year,int month,int day);