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

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

#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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在此特此声明:一下所有链接均来自互联网,在此记录下我的查阅学习历程,感谢各位原创作者的无私奉献 ! 技术一点一点积...
    远航的移动开发历程阅读 11,214评论 12 197
  • 《ijs》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 5,321评论 0 7
  • #Ling听# 1.做自己 2.一技之长 3.坚持你所喜欢的 4.腼腆但自信 5.重故友 6.能忍受 7.孝 ——...
    Ling128956阅读 141评论 0 0
  • 每当过年回家的时候,总感觉像是受罪一样。 记得童年的时候,最向往的就是过年,因为那...
    一枫叶阅读 315评论 3 2
  • 亲爱的爸爸,愿我可以这样叫你。我一直张不开嘴叫你亲爱的,我猜多半你也不愿听我这样叫你。我们之间,一直是有确定的、足...
    花生果果阅读 321评论 2 1