第十七周 项目5 处理时间日期(计算这是第几天或第几秒的问题)

/*
*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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值