2-5玩日期
/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: date.cpp * 作 者:纪子龙 * 完成日期: 2013 年 3 月 8 日 * 版本号: v1.0 * 输入描述:年月日 * 问题描述:输出对应的那一天是这一年的第几天 * 输出:第几天 */#include <iostream>using namespace std;struct Date{int year;int month;int day;int hour;int minu;long second;};int sumday(int m);int main(){int days;long dseconds,yseconds;Date date;cout<<"please input year month day hour minu,second"<<endl;cin>>date.year>>date.month>>date.day>>date.hour>>date.minu>>date.second; if(date.month==1) days=date.day; if(date.month==2) days=31+date.day; if (date.year%4==0&&date.month>2) { if (date.month<8){ days=date.day+sumday(date.month)-1; }else{ days=date.day+sumday(7)+sumday(date.month-7)-1; } } if (date.year%4!=0&&date.month>2) { if (date.month<8){ days=date.day+sumday(date.month)-1; }else{ days=date.day+sumday(7)+sumday(date.month-7)-1; } }//求秒数dseconds=(date.hour-1)*3600+(date.minu-1)*60+date.second;yseconds=(days-1)*3600*24+dseconds;cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<days<<"天."<<date.minu<<"分"<<date.second<<"秒是这一天的第"<<dseconds<<"秒,是这一年的第"<<yseconds<<"秒"<<endl;return 0;}int sumday(int m){ if (m-1==0) return 0; if ((m-1%2)==0) return 31+sumday(m-1); else return 30+sumday(m-1);}运行结果: