/*
*copyright (c) 2014.烟大计算机学院
*All rights reserved.
*文件名称:
*作者:王争取
*完成日期:2014.12.21
*版 本 号:v1.0
*问题描述:定义一个表示时间(包括年,月,日,时,分,秒)的结构体完成如下功能
*输入描述:按顺序输入年,月,日,时(24时制),分,秒
*程序输出:1.该日是本年的第几天2.这是这一天的第几秒3这是这年的第几秒
*/
#include <iostream>
using namespace std;
struct DATE
{
int year;
int month;
int day;
int hour;
int minus;
int second;
};
int days(DATE *);
int seconds_year(DATE *);
int seconds_days(DATE *);
int main()
{
DATE date;
cout<<"请按年,月,日,时(24小时制),分,秒顺序输入时间"<<endl;
cin>>date.year>>date.month>>date.day>>date.hour>>date.minus>>date.second;
cout<<"该日是本年的第:"<<days(&date)<<endl;
cout<<"这是这一天的第:"<<seconds_days(&date)<<"秒"<<endl;
cout<<"这是这年的第:"<<seconds_year(&date)<<"秒";
return 0;
}
int days(DATE *date)
{
int days=0;
for(int i=1; i<date->month; i++)
{
if(date->month==1||date->month==3||date->month==5||date->month==7||date->month==8||date->month==10||date->month==12)
days+=31;
else if(date->month==4||date->month==6||date->month==9||date->month==11)
days+=30;
else if((date->year%4==0&&date->year%100)||date->year%400==0)
days+=28;
else days+=29;
}
days+=date->day;
return days;
}
int seconds_year(DATE *date)
{
int days(DATE *date);
int seconds;
seconds=days(date)*24*60*60+date->minus*60+date->second;
return seconds;
}
int seconds_days(DATE *date)
{
int seconds;
seconds=date->minus*60+date->second;
return seconds;
}