第二周项目5拓展

来源:互联网 发布:华为认证云计算工程师 编辑:程序博客网 时间:2024/04/30 05:42
/*  * 程序的版权和版本声明部分  * Copyright (c)2013, 烟台大学计算机学院学生  * All rightsreserved.  * 文件名称: date.cpp                             * 作    者:                              * 完成日期:  年  月   日  * 版本号: v1.0        * 输入描述:年月日  * 问题描述:输出对应的那一天是这一年的第几天  * 输出:第几天  */    #include <iostream>    #include<stdio.h>  using namespace std;    struct Date    {        int year;        int month;        int day;    };    int days(int n,int m, int z);  int month2day(int month,int year);  bool isRunYear(int year);  int main()    {        Date date[2];        cout<<"请第一个人的输入  年  月   日:";        cin>>date[0].year>>date[0].month>>date[0].day;        int day1,day2;       day1=days(date[0].day,date[0].month,date[0].year);     cout<<"请输入第二个人的  年  月  日 :";     cin>>date[1].year>>date[1].month>>date[1].day;      day2=days(date[1].day,date[1].month,date[1].year);    cout<<"两人相差"<<day1-day2<<"日"<<(day1-day2)*24*3600<<"秒"<<endl;       cout<<"按enter继续"<<endl;                 fflush(stdin);            getchar();            main();      return 0;    }  int days(int n,int m, int z){   int x,i,sum=0;   for(i=1;i<m;++i){   x=month2day(i,z);   sum+=x;   }   return sum+n;  }   bool isRunYear(int year){        if((year%4==0&&year%100!=0)||(year%400==0)){            return true;        }else{            return false;        }    }    int month2day(int month,int year){         int day=0;         switch(month){            case 1:            case 3:            case 5:            case 7:            case 8:            case 10:            case 12:                 day=31;                 break;            case 4:            case 6:            case 9:            case 11:                  day=30;                  break;            case 2:                if(isRunYear(year)){                    day=29;                }else{                    day=28;                }                break;         }         return day;    }      

运行结果: