2. 编写一个函数,提示用户输入日、月和年。月份可以是月份号、月份名或月份名缩写。然后该程序应返回一年中到用户指定日子(包括这一天)的总天数。
分析
1、需要用到一个结构体(前一题用过的),包括月份全称,简称,天数,以及月份号(1,2,……)
2、因为有闰年,所以需要实例化两个结构体,一个是普通年份(2月天数28天),一个是闰年年份(2月天数29天)
typedef struct month {
char name[10];
char abbrev[4];
int days;
int monthnumb;
} mm;
mm common_months[12] = //普通年份
{
{"January", "jan", 31, 1},
{"February", "feb", 28, 2},
{"March", "mar", 31, 3},
{"April", "apr", 30, 4},
{"May", "may", 31, 5},
{"June", "jun", 30, 6},
{"July", "jul", 31, 7},
{"August", "aug", 31, 8},
{"September", "sep", 30, 9},
{"October", "oct", 31, 10},
{"November", "nov", 30, 11},
{"December", "dec", 31, 12}
};
mm leap_months[12] = { //闰年
{"January", "jan", 31, 1},
{"February", "feb", 29, 2},
{"March", "mar", 31, 3},
{"April", "apr", 30, 4},
{"May", "may", 31, 5},
{"June"