代码如下:
#include <iostream>
using std::cout;
using std::cin;
#define MONTHS 12
struct date{
char month[4];
int DayOfMonth;
};
void OutputMonth(const char* month[],unsigned int DayOfMonth[])
{
for (size_t i = 0; i < MONTHS; i++) {
cout<<month[i]<<" "<<DayOfMonth[i]<< " "<<"\n";
}
}
int main()
{
const char* month[MONTHS] = {"Jan","Feb","Mar","Apr","May","Jun",
"Jul","Aug","Sep","Oct","Nov","Dec"};
unsigned int DayOfMonth[MONTHS] = {31,0,31,30,31,30,31,31,30,31,30,31};
date Date[MONTHS] = {{"Jan",31},{"Feb",0},{"Mar",31},{"Apr",30},{"May",31},{"Jun",30},
{"Jul",31},{"Aug",31},{"Sep",30},{"Oct",31},{"Nov",30},{"Dec",31}};
unsigned int year = 0;
cout<<"Please input the year";
cin>>year;
if (year > 0) {
if (year/4 == 0 && (year/100 == 0 && year/400 == 0)) {
DayOfMonth[1] = 29;
Date[1].DayOfMonth = 29;
}
else
{
DayOfMonth[1] = 28;
Date[1].DayOfMonth = 28;
}
}
OutputMonth(month,DayOfMonth);
for (size_t i = 0; i < MONTHS; i++) {
cout<<Date[i].month<<" "<<Date[i].DayOfMonth<<"\n";
}
return 0;
}
编译输出如下:
[chaos@localhost cpp]$ g++ -o 5.7 5.7.cpp
[chaos@localhost cpp]$ ./5.7
Please input the year2016
Jan 31
Feb 28
Mar 31
Apr 30
May 31
Jun 30
Jul 31
Aug 31
Sep 30
Oct 31
Nov 30
Dec 31
Jan 31
Feb 28
Mar 31
Apr 30
May 31
Jun 30
Jul 31
Aug 31
Sep 30
Oct 31
Nov 30
Dec 31