C++程序设计语言练习5.7 结构体数组的初始化

来源:互联网 发布:佛山!安防数据库 编辑:程序博客网 时间:2024/05/16 15:55

代码如下:

#include <iostream>using std::cout;using std::cin;#define MONTHS  12struct 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.7Please input the year2016Jan 31 Feb 28 Mar 31 Apr 30 May 31 Jun 30 Jul 31 Aug 31 Sep 30 Oct 31 Nov 30 Dec 31 Jan 31Feb 28Mar 31Apr 30May 31Jun 30Jul 31Aug 31Sep 30Oct 31Nov 30Dec 31



0 0
原创粉丝点击