第一周----生日差几天

来源:互联网 发布:网络协议对应端口号 编辑:程序博客网 时间:2024/04/29 19:21
/** Copyright (c) 2013, 烟台大学计算机学院* All rights reserved.* 作    者:申玉迪* 完成日期:2014 年 3 月 1 日* 版 本 号:v1.0*/#include <iostream>using namespace std;struct Date{    int year;    int month;    int day;} date;/*输入两个人的生日,看和1900年1月1日相差多少天,然后在相减*/int main(){    int d1=0,m1=0,y1=0,d2=0,m2=0,y2=0,t,i,j;/*d1,m1,y1代表第一个人的出生年月日,同理d2,m2,d2,                                              t表示相差天数,i和j分别作为循环的年和月*/    cout<<"第一个人的出生日期:";    cin>>date.year>>date.month>>date.day;    for(i=1900; i<date.year; i++)//算出这年之前到1900年共多少天    {        y1+=365;        if(i%400==0||(i%4==0&&i%100!=0))        {            y1++;        }    }    for(j=0; j<date.month; ++j)//算出本年到生日共多少天    {        int x;        if(j==2)        {            if(date.year%400==0||(date.year%4==0&&date.year%100!=0))            {                x=29;            }            else            {                x=28;            }        }        else if(j==1||j==3||j==5||j==7||j==8||j==10||j==12)            x=31;        else if(j==4||j==6||j==9||j==11)            x=30;        else if(j==0)            x=date.day;        m1+=x;    }    d1=y1+m1;//生日到1900年1月1日共多少天    cout<<"第二个人的出生日期:";    cin>>date.year>>date.month>>date.day;    for(i=1900; i<date.year; i++)    {        y2+=365;        if(i%400==0||(i%4==0&&i%100!=0))        {            y2++;        }    }    for(j=0; j<date.month; ++j)    {        int x;        if(j==2)        {            if(date.year%400==0||(date.year%4==0&&date.year%100!=0))            {                x=29;            }            else            {                x=28;            }        }        else if(j==1||j==3||j==5||j==7||j==8||j==10||j==12)            x=31;        else if(j==4||j==6||j==9||j==11)            x=30;        else if(j==0)            x=date.day;        m2+=x;    }    d2=y2+m2;    t=d2-d1;    if(t<0)    {        t=-t;//若出现负数,则将其化为正数    }    cout<<"两人生日相差"<<t<<"天."<<endl;}









原来那一大块想用函数的,但试了好久还是不行,就干脆不用了


0 0
原创粉丝点击