第一周项目2拓展

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

运行结果:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值