您的位置:首页 > 其它

第十七周项目五 玩日期时间-(4)输出这是这一年中的第几秒

2014-12-21 13:52 375 查看
项目要求:

定义一个表示时间(包括年、月、日、时、分、秒)的结构体,然后完成下面的功能。

提示:将各个功能分别设计成函数实现,在main 函数中调用,进行测试。可以设计一个函数,

即刻进行测试,以降低复杂度。

要实现的功能是:

(1)输入一个时间(注意各部分数据的取值范围)将输入的时间保存在一个结构体变量中;

(2)输出该日在本年中是第几天(注意闰年问题);

(3)输出这是这一天中的第几秒;

(4)输出这是这一年中的第几秒(不要认为这个数荒唐,在计算中需要取随机数时需要一个

不会重复的“种子数”,这个秒数是常用的。)

问题及代码:

#include <iostream>
using namespace std;
struct time
{
    int year;
    int month;
    int day;
    int hour;
    int minute;
    int second;
};
int main()
{
    time Time;
    cout<<"Please enter the year, month, day, hour, minute, second : "<<endl;
    cin>>Time.year>>Time.month>>Time.day>>Time.hour>>Time.minute>>Time.second;
    int days=0;
    //计算days
    int day[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
    if ((Time.year%4==0&&Time.year%100!=0)||Time.year%400==0)
        day[2]++;
    for (int i=0; i<Time.month; i++)
        days+=day[i];
    days+=Time.day;
    cout<<Time.month<<"月"<<Time.day<<"日是"<<Time.year<<"年的第"<<days<<"天."<<endl;
    int seconds;
    seconds=Time.hour*3600+Time.minute*60+Time.second;
    cout<<Time.hour<<"时"<<Time.minute<<"分"<<Time.second<<"秒是当天的第"<<seconds<<"秒."<<endl;
    long seconds2;
    seconds2=(days-1)*24*3600+seconds;
    cout<<Time.year<<"年"<<Time.month<<"月"<<Time.day<<"日"<<Time.hour<<"时"<<Time.minute<<"分"<<Time.second<<"秒是当年的第"<<seconds2<<"秒."<<endl;
    return 0;
}


运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: