您的位置:首页 > 其它

第十七周项目 (2)输入两个人的生日,求出他们相差多少天。

2014-12-17 14:14 225 查看

(2)输入两个人的生日,求出他们相差多少天。

运行代码:

/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*dood luck
*文件名称:d.cpp
*作    者:张旺华
*完成日期:2014年12月17日
*版 本 号:v1.0
*
*/
#include <iostream>
using namespace std;
int Days(int year,int month);
int year_days(int year1,int year2);
struct Date
{
    int year;
    int month;
    int day;
};
int main()
{
    Date date,date1;
    cout<<"input year,month,day:";
    cin>>date.year>>date.month>>date.day;
    cin>>date1.year>>date1.month>>date1.day;
    int days;
    if(date.year<date1.year)
    {
        days=year_days(date.year,date1.year);
        days+=Days(date1.year,date1.month)-Days(date.year,date.month)+date1.day-date.day;
    }
    else
    {
        days=year_days(date1.year,date.year);
        days+=Days(date.year,date.month)-Days(date1.year,date1.month)+date.day-date1.day;
    }

        cout<<days;
    return 0;
}
int year_days(int year1,int year2)
{
    int days=0;
    for(; year1<year2; year1++)
    {
        if((year1%100!=0&&year1%4==0)||year1%400==0)
            days+=366;
        else days+=365;

    }
    return days;
}
int Days(int year,int month)
{
    int days;
    days=30*(month-1);

    switch(month)
    {
    case 12:
        days++;
    case 10:
        days++;
    case 8:
        days++;
    case 7:
        days++;
    case 5:
        days++;
    case 3:
        days++;
    case 2:
        if((year%100!=0&&year%4==0)||year%400==0)
            days-=1;
        else days-=2;
    case 1:
        days++;
    default :
        break;
    }
    return days;
}

运行结果:




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