项目4--玩日期

来源:互联网 发布:gcc linux 编辑:程序博客网 时间:2024/04/28 12:46
01. //02.* Copyright (c) 2013, 烟台大学计算机学院  02.//03.* All rights reserved.  03.//04.* 作    者:马德鹏  04.//05.* 完成日期:2014 年 3 月 9 日  05.//06.* 版 本 号:v1.0  #include <iostream>using namespace std;struct Date{    int year;                          //date结构体    int month;    int day;    long hour;    long second;    long minute;} date ;void calculate();                 //求你输入的时间d天后是哪年那月哪日;void sort1();                       //输出该日是本年的第几天;void sort2();                    //输出这是这一天的第几秒;void output();                //输入一个时间,将时间保存在一个结构体变量中;void outputExcellent();                 //输出这是这一年的第几秒;int main(){    cout<<"请输入时间:"<<endl;    output();    cout<<endl;    sort1();    cout<<endl;    sort2();                          // 调用各个函数功能    cout<<endl;    outputExcellent();    cout<<endl;    calculate();    return 0;}void output(){    cin>>date.year>>date.month>>date.day>>date.hour>>date.minute>>date.second;  //输入年,月,日,    cout<<endl;    cout<<"年"<<"  "<<"月"<<"  "<<"日"<<"  "<<"小时"<<"  "<<"分钟"<<"  "<<"秒"<<endl;    cout<<date.year<<"  "<<date.month<<"  "<<date.day<<"  "<<date.hour<<"  "<<date.minute<<"  "<<date.second;}void sort1(){    int days=0;    int d[13]= {0,31,29,31,30,31,30,31,31,30,31,30,31};      //定义每月的天数    for(int i=1; i<date.month; i++)    {        days+=d[i];        days+=date.day;               //判断月份,天数相加    }    if(((date.year%4==0&&date.year%100!=0)||(date.year%400==0))&&(date.month>=3))        days+=1;    cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<days<<"天.";}void sort2(){    int num=0;    num=((date.hour*60+date.minute)*60)+date.second;               //秒数相加    cout<<"这是这一天中的第"<<num<<"秒."<<endl;}void outputExcellent(){    int days=0;    int d[13]= {0,31,29,31,30,31,30,31,31,30,31,30,31};             //定义每月的天数    for(int i=1; i<date.month; i++)    {        days+=d[i];        days+=date.day;        //判断月份,天数相加    }    if(((date.year%4==0&&date.year%100!=0)||(date.year%400==0))&&(date.month>=3))        days+=1;    int num=0;    num=((days*60+date.minute)*60)+date.second;    cout<<"这是这一年中的第"<<num<<"秒.";}void calculate(){    int days=0;    int s[13]= {0,31,29,31,30,31,30,31,31,30,31,30,31}           ;//定义每月的天数    for(int i=1; i<date.month; i++)    {        days+=s[i];        days+=date.day;                    //判断月份,天数相加    }    if(((date.year%4==0&&date.year%100!=0)||(date.year%400==0))&&(date.month>=3))        days+=1;    cout<<"请输入您要增加的天数:"<<endl;    int d;    cin>>d;    int num;             //定义num代表日期相加后的总天数    num=days+d;    cout<<"这是相加后的第"<<num<<"天"<<endl;             //下面的程序功能有错误,这部分的功能为:在你输入的时间上加上d天,然后求其是哪年那月哪日;    for(int i=0; i<14; i++)    {        num=num-s[i];        date.month=i+1;        date.day=num;        if(num<0&&i<=13)        {            num=num+s[i-1];        }        if(i>=13)        {            date.year++;            date.month=1;            if(num<0&&i<=13)            {                num=num+s[i-1];                date.month=i+1;            }        }    }    cout<<"增加天数后为:"<<endl;    cout<<date.year<<"  "<<date.month<<"  "<<date.day;}
这个程序编了两天,但到现在还没完成里面有一个功能一直做不出来,希望末位大神能给指导一下,


0 0
原创粉丝点击