月日历的输出和距今天数的输出及节假日的判断这大三功能。1.2功能流程图本程序主要通过获取屏幕输入,然后进行字符串处理,选择相应的功能执行,最后打印输出信息。功能流程图如下:开始输入处理输入信息判断年月日年月日运算,计算距今的天数年月运算,准备打印某年某月日历年运算,准备打印某年日历输出结束图1.1功能流程图1.3功能模块图提示信息打印某年日历模块打印某年某月日历模块计算距今天数和判断节日模块图1.2功能模块图2详细设计2.1数据结构建立日历信息结构体,结构体成员变量包括月末、月初星期几、屏幕信息左半边日历是否打印完毕。typedefstructcalendar{?intmonth_end;?//月末最后一天的数字?intfirst_day;//月初星期几0周日1周一......?intprintFinished;?//打印完毕则为1,没打印完成则为0}Calendar;建立年月日信息结构体,结构体成员变量包括年份、月份、天数。typedefstructdate{?intyear;?intmonth;?intday;}Date;2.2函数功能设计本万年历系统主要分为三大功能,分别是打印某年日历、打印某年某月日历、打印距今天数和判断是否节假日,故分别设计三个函数实现三大功能,如下所示。voidfirstFun(intyear,Calendarcal[]);?//第一功能voidsecondFun(intyear,intmonth,Calendarcal[]);?//第二功能voidthirdFun(intyear,intmonth,intday);?//第三功能各程序流程图如下:图2.1程序流程图(一)是否firstFun()函数开始判断是否打印了6和12月份的日历打印某月日历结束图2.2程序流程图(二)是否secondFun()函数开始判断是否月末的天数打印某月某日的日历结束