第二周项目5拓展

/*  
* 程序的版权和版本声明部分  
* 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;    
}      

运行结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值