第一周项目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;  
    cout<<"请输入  年  月   日:";  
    cin>>date.year>>date.month>>date.day;  
    int day;  
   day=days(date.day,date.month,date.year);
    cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<day<<"天."<<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、付费专栏及课程。

余额充值