C++编程基础与算法实例

3、C++基础:日期类问题(1)

2016-11-16  本文已影响16人  blueskylxb

定义一个结构体变量(包括年、月、日),计算该日在本年中为第几天?(注意考虑闰年问题)

#include <iostream>

using namespace std;

struct Date {
  int year;
  int month;
  int date;
} dat;

int IsLeapYear(int year){
    return (year%4==0 && year%100!=0) || (year%400==0);
}

int main(void){
  cout << "输入年 月 日" << endl;
  cin >> dat.year >> dat.month >> dat.date;

  int date = dat.date;

  switch(dat.month-1){
      case 11 : date+=30;
      case 10 : date+=31;
      case 9 : date+=30;
      case 8 : date+=31;
      case 7 : date+=31;
      case 6 : date+=30;
      case 5 : date+=31;
      case 4 : date+=30;
      case 3 : date+=31;
      case 2 : date+=IsLeapYear(dat.year)+28;
      case 1 : date+=31;
  }

  cout << "第" << date << "天" << endl;

  return 0;
}

参考:http://blog.chinaunix.net/uid-24219701-id-1993931.html

上一篇下一篇

猜你喜欢

热点阅读