输出对应的那一天是这一年的第几天
[cpp]
/*
* 程序的版权和版本声明部分
* 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);
}
运行结果:
补充:软件开发 , C++ ,