- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
..
PAGE
资料
《C++语言程序设计》
课程设计报告
设计题目:简单万年历
专 业:网络工程
班 级:12级
姓 名:杨茂林
学 号:121124028
联系方式
目 录
1.设计目标……………………………………………3
2.设计思想……………………………………………3
3.类及函数的实现……………………………………3
4.程序流程图…………………………………………3
5.程序源代码…………………………………………11
6.调试记录……………………………………………30
7.调试语录……………………………………………33
8.总结…………………………………………………34
简单万年历程序
1.1设计题目描述
本程序是一个简单的实现时间系统功能的万年历程序,此程序是为了遵循用户的意愿与指示对用户输入的日期进行简单的处理,输出所要查询的日期的信息,如:当时的时间,年月日,生肖,天干地支,以及输出所要查询的日期日历并以日历形式排列出来。
1.2设计目标
本程序有以下目标要实现
= 1 \* GB3 ①:用户可以进行选择,是要进行万年历时间校对系统还是万年历的查询系统,用户可以随时退出系统;
= 2 \* GB3 ②:显示本地时间,并征询用户的意见是否要进行时间调整,如果进行了时间调整,要输出调整后的时间;
= 3 \* GB3 ③:查询某年的万年历,并输出当年的年历,并显示所要查询的年份,显示出一年的日历、当年的天干地支、生肖、并判断是否为闰年;
= 4 \* GB3 ④:将 = 3 \* GB3 ③的功能具体到月份;
= 5 \* GB3 ⑤:将 = 4 \* GB3 ④的功能具体到日,并判断出用户所要查询的日期当天是什么节日,以及用户所要查询的节日距今天有多少天;
= 6 \* GB3 ⑥:用户多次进行输入,知道用户满意为止。
2.设计思想
本程序中,因为要用到万年历的时间校对系统,所以,在设计的时候,我定义了一个时间类:clock类;由于系统要同步到本地的时间(即为运行时电脑上显示的时间),这里用到了 struct time结构体,接下来就是万年历的查询系统功能里面的函数,这些函数要实现的有指导用户进行操作的选项的界面,有计算该月的1号是星期几的函数,有输出每周即每月的表头函数、判断是否为闰年、判断每个月有多少天、要查询的那天距今天有多少天、判断所要查询的年份有多少天、计算指定日期距今天有多少天等函数。其中,共含一个主函数文件、三个功能文件、一个功能函数头文件、界面文件以及时钟类文件。其中,功能函数是主要的函数实现部分,时钟类则主要是实现万年历时间系统。
3.类及函数的实现
在此只涉及部分函数的实现细节,其他函数详看程序源代码:
1.1本程序中,我只设计了一个clock类,类里面有实现时间系统校对功能的私有量,在进行时间校对的过程中,我选择了重载的方法,以达到自己想要的结果。
1.2函数部分的实现则是比较普通的,没有什么特殊的地方。其中有如下函数需要实现:
int week(int y,int m);//计算该月一号是星期几
void printweek();//输出每周表头
void printmonth(int m);//输出每月表头
int leep(int y);//判断该年是否闰年
int md(int y,int m);//判断该月有多少天
void other(int year);
int days1(int y,int m,int d);//计算该天时这一年的第几天
int days2(int y);//判断该年有多少天
int days3(int y);//计算从元年到该之年前总天数
int totaldays(int y,int m,int d);//计算指定日期距今天的天数
int yi();//实现万年历的时间校对功能
int er();//进入万年历的系统功能
int first();//实现第一个功能
int second();//实现第二个功能
void third();//实现第三功能
//int tiangandizhi();
int jiemian1();//界面1
int jiemian2();
在jiemian(),int md()及void third()的实现过程中,我选用了 switch-case套用switch-case语句;在int week()函数中,我采用了蔡勒公式用于计算每个
文档评论(0)