#include <iostream> using namespace std; struct date{ int year; int month; int day; int hours; int minute; int second; }; int day(date s); int month(int n,int i); bool year(int z); int second(date x); int yearsecond(date x); int main(){ date x; int n; date s; cout<<"请输入一个日期,记得要具体一点哦!"<<endl; cout<<"首先,请先输入年份,千万记住,不能在公元前和9999年后哦"<<endl; cin>>x.year; cout<<endl<<"接下来,输入月份:"; cin>>x.month; cout<<endl<<"然后是日期:"; cin>>x.day; cout<<endl<<"具体到小时……"; cin>>x.hours; cout<<endl<<"我想你一定想不到我还让你输入分钟,嘿嘿"; cin>>x.minute; cout<<endl<<"好吧,请尽管骂吧,请输入秒:"; cin>>x.second; cout<<"嘿嘿,下面告诉你为啥让你输入这些,额咳咳,这一天,是这一年的第"<<day(x)<<"天。"<<endl; cout<<"这一秒是这一天的第"<<second(x)<<"秒。"<<endl; cout<<"这一秒是这一年的第"<<yearsecond(x)<<"秒。"<<endl; return 0; } int day(date s){int z,sum=0; z=s.year; for(int i=1;i<s.month;++i) { sum+=month(i,z); } sum=sum+s.day; return sum; } int month(int n,int z){ int x=0; switch(n){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: x=31; break; case 4: case 6: case 9: case 11: x=30; break; case 2: if(year(z)){ x=28; }else x=29; break; } return x; } bool year(int z){ if((z%4==0&&z%100!=0)||(z%400==0)){ return true; }else{ return false; } } int second(date x){ int sum=0; for(int i=1;i<x.hours;i++){ sum+=3600; } for(i=1;i<x.minute;i++){ sum+=60; } sum=sum+x.second; return sum; } int yearsecond(date x){ int sum=0; sum=sum+24*3600*day(x)+second(x); return sum; }