计算日子差。自由年月日。含闰年判断

// main.cpp

// 打鱼晒网问题

//

// Created by Angel on 16/1/27.

//

#include

#include



using namespace std;



//function

//是否为闰年

long int judgement1(int);

//是否为大月

long int judgement2(int,bool);

//计算日子

int judgement3(int);

//闰年

bool lunar(int);

//计算

void display(long int);

#define YEAR 1993

#define MONTH 6

#define DAY 9
int main()

{

   int year,month,day;

   long int count[3];

   bool t;

   long int total;



   cout<<"Count the date from"<<YEAR<<'/'<<MONTH<<'/'<<DAY<<"to the date you want."<<endl;

   cout<<"【EOF】to quit."<<endl;



   while(cin.get()!=EOF){

       cout<<"Year: "<<endl;

       cin>>year;

       count[0]=judgement1(year);

       t=lunar(year);



       cout<<"Month: "<<endl;

       cin>>month;

       count[1]=judgement2(month,t);



       cout<<"Day: "<<endl;

       cin>>day;

       count[2]=day;

       //多余的日子



       total=count[0]+count[1]+count[2]-judgement2(MONTH,lunar(YEAR))-(DAY-1);

       cout<<"Total: "<<total<<endl;



       cout<<"计算这一天是在打渔还是筛网:"<<endl;

       display(total);

       cin.clear();

       cin.get();

    }

}
//计算年份

long int judgement1(int a){

   a=a-YEAR;

   long int ye=0;

   for(int i=0;i

       if(lunar(YEAR+i))

           ye=ye+366;

        else

           ye=ye+365;

   return ye;

}


//判断闰年

bool lunar(int yea){

   if( yea%4 == 0){

       if( yea0 == 0){

           if( yea@0 ==0)

                return true;

           else

                return false;

       }

       else

           return true;

    }

   else

       return false;

}
//计算月份

long int judgement2(int a,bool t){

   int day=0;

   int b=31,s=30;

   switch(a){

       case 12:

           day=day+s;

       case 11:

           day=day+b;

       case 10:

            day=day+s;

       case 9:

           day=day+b;

       case 8:

           day+=b;

       case 7:

           day+=s;

       case 6:

           day+=b;

       case 5:

           day+=s;

       case 4:

           day+=b;

       case 3:

           if(t)

                day+=29;

           else

                day+=28;

       case 2:

           day+=b;

       case 1:

           day+=0;break;

       default:

           cout<<"WRONG.";break;

    }

   return day;

}
//展示晒网打渔

void display(long int a){

   a=a%5;

   switch(a){

       case 0:

       case 4:

           cout<<"晒网"<<endl;break;

       case 2:

       case 3:

       case 1:

           cout<<"打渔"<<endl;break;

   }return;

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值