文档详情

C++实现万年历(原创).pdf

发布:2025-03-24约2.21万字共8页下载文档
文本预览下载声明

C++实实现现万万年年历历((原原创创))

任任务务要要求求

功能要求:

(1)提供菜单⽅式选择,假定输⼊的年份1940-2040年之间。

(2)输⼊⼀个年份,输出是屏幕上显⽰该年的⽇历。

(3)输⼊年⽉,输出该⽉的⽇历,如图2-1所⽰:

图2-1⽉⽇历

(4)输⼊年份、⽉份、⽇期,计算得到的是这⼀天据今天有多少天,星期⼏。

(5)输⼊公历的年⽉⽇,输出农历年⽉⽇。

(6)输⼊农历节⽓,输出当年农历的年⽉⽇及公历年⽉⽇。可以假定只涉及年份是1940年到2040年。

总总体体设设计计

将⽂件三部分Date.h、main.cpp、Date.cpp

1)Date.h:包括函数的声明。

2)main.cpp:包含调⽤与模拟交互界⾯的函数代码

3)Date.cpp:

//输⼊输⼊⼀个年份,输出是屏幕上显⽰该年的⽇历。

voidprint_annual_calendar(intear)

//输⼊年⽉,输出该⽉的⽇历。

voidprint_monthl_calendar(intear,intmonth)

//输⼊年份、⽉份、⽇期,计算得到的是这⼀天据今天有多少天,星期⼏。

voidprint_number_week(intear,intmonth,intda)

//输⼊公历,显⽰农历。

voidgregorian_to_lunar(intear,intmonth,intda)

//输⼊农历节⽓,输出当年农历的年⽉⽇和公历年⽉⽇。

voidsolar_term(char*str)

详详细细设设计计说说明明

(1)查询距今多少天,星期⼏?

①计算某⼀⽇期到1939年1⽉1⽇的天数:getDasTo1939(intear,intmonth,intda)

1.判断是否是闰年(平年365天,闰年366天),函数如表4-1所⽰:

表4-1isLeapYear函数

定义函数boolisLeapYear(intear)

返回值若ear年是闰年返回true,否则返回false

参数说明ear参数是要判断的年份

1.判断某年某⽉有多少天?函数如表4-2所⽰:

表4-2getDasOfMonth函数

定义函数intgetDasOfMonth(intear,intmonth)

返回值返回ear年month⽉的天数

参数说明ear、month参数分别是要查询的年、⽉

例如:计算2020年8⽉14⽇到1939年1⽉1⽇的天数。⾸先1939-2019年是整数年,直接判断是否是闰年,然后增加天数。2020年不是整年,但1-7⽉是整数⽉,根据年、⽉获取

当⽉天数累加。最后再加天数da,便得出相距与1939年1⽉1⽇的天数。

②计算查询⽇期距今天多少天?getDasOfMonthToToda(intear,intmonth,intda),函数如表4-3所⽰:

1.通过函数获取系统时间,通过getDasTo1939(),获取系统时间距1939年1⽉1⽇的天数num1。

2.使⽤键盘输⼊的⽇期,通过getDasTo1939(),获取输⼊⽇期距1939年1⽉1⽇的天数num2。

3.使⽤num1-num2计算输⼊⽇期距今天的天数,正数为已过去时间,负数为未来时间。

表4-3getDasOfMonthToToda函数

定义函数

显示全部
相似文档