第十七周项目五(一):玩日期时间

本文介绍了一个简单的C++程序,用于将用户输入的日期时间转换为不同的秒数表示形式,包括当天中的秒数和当年中的秒数。程序还计算了输入日期在当年中的第几天。
/*


*copyright (c) 2014, 烟台大学计算机学院.


*All rights reserved.


*文件名称:test.cpp 


*作者:陆云杰


*完成日期:2014年12月19日 


*版本号:v1.0


* 


*


*问题描述:玩日期时间

*程序输入:年月日,时分秒


*程序输出:各种秒


*/
#include <iostream>
using namespace std;
struct Time
{
    int year;
    int month;
    int day;
    int hour;
    int min;
    int sec;
};
void  Day(int year,int month,int day);
void  Second(int hour,int sec);
void  SEC(int year,int month,int day,int hour,int sec);
int main()
{
    Time time;
    cout<<"请输入年月日,时分秒:"<<endl;
    cin>>time.year>>time.month>>time.day>>time.hour>>time.min>>time.sec;
    Day(time.year,time.month,time.day);
    Second(time.hour,time.sec);
    SEC(time.year,time.month,time.day,time.hour,time.sec);
    return 0;
}
void  Day(int year,int month,int day)
{
    int days=0,i;
    int a[12]= {31,28,31,30,31,30,31,31,30,31,30,31};


    if((year%4==0&&year%100!=0)||(year%400==0))
    {
        if(month==1)
            days=day;
        else if(month==2)
            days=31+day;
        else
        {
            for(i=2; i<month-1; i++)
            {
                days+=a[i];
            }
            days+=31+29+day;
        }
    }
    else
    {
        for(i=0; i<month-1; i++)
        {
            days+=a[i];
        }
        days+=day;
    }
    cout<<"该日在本年中是第:"<<days<<"天"<<endl;
}
void  Second(int hour,int sec)
{
    int S;
    S=hour*3600+sec;
    cout<<"这是这一天中的第:"<<S<<"秒"<<endl;
}
void  SEC(int year,int month,int day,int hour,int sec)
{
    int a[12]= {31,28,31,30,31,30,31,31,30,31,30,31};
    int oneday_sec,S,days,i;
    oneday_sec=24*3600;
    if((year%4==0&&year%100!=0)||(year%400==0))
    {
        if(month==1)
            S=day*oneday_sec;
        else if(month==2)
            S=(31+day)*oneday_sec;
        else
        {
            for(i=2; i<month-1; i++)
            {
                days+=a[i];
            }
            days+=31+29+day;
            S=days*oneday_sec;
        }
    }
else
    {
        for(i=0; i<month-1; i++)
        {
            days+=a[i];
        }
        days+=day;
    S=days*oneday_sec;
    }
    cout<<"这是这一年中的第:"<<S<<"秒"<<endl;
<p>}</p><p><img src="https://img-blog.youkuaiyun.com/20141219171900959?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVfeXVuamll/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
</p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值