三天打鱼两天晒网

#include <iostream>
using namespace std;
int days(int year,int month,int day);
void main()
{
	int year,month,day;
	int choose;
	cout<<"请输入年月日(用空格隔开):"<<endl;
	cin>>year>>month>>day;
	days(year,month,day);
        main();
}
int days(int year,int month,int day)
{
	int leap=0;
	int i,j,k=day,
        int sum=0;
	if(year<2010)                 //判断输入年份是否小于2010年
	{
		cout<<"输入年份错误"<<endl;
		return 0;
	}
	else
	{
	    for(int a=2010;a<=year;a++)     //当年份大于2010年时,判断共度过了几个闰年
		{
			if(a%400==0||(a%4==0&&a%100!=0))
				leap++;
		}
	i=(year-2010)*365+leap;
	if(month>0&&month<13)    //判断月份是否符合规定并将不同情况下每月的天数进行判定
	{
		if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
		{	
			if(day>31)
			{
				cout<<"输入日期错误"<<endl;
				return 0;
			}
		}
			else if(month==2)
			{
				if(year%400==0||(year%4==0&&year%100!=0))
				{
					if(day>29)
					{
						cout<<"输入日期错误"<<endl;
						return 0;
					}
				}
				else
					if(day>28)
					{
						cout<<"输入日期错误"<<endl;
						return 0;
					}
			}
			else
				if(day>30)
				{
	                 		cout<<"输入日期错误"<<endl;
					return 0;
				}
		switch(month)            //根据月份输出天数
		{
		case 1:j=0;break;
		case 2:j=31;break;
		case 3:j=59;break;
		case 4:j=90;break;
		case 5:j=120;break;
		case 6:j=151;break;
		case 7:j=181;break;
		case 8:j=212;break;
		case 9:j=243;break;
		case 10:j=273;break;
		case 11:j=304;break;
		case 12:j=334;break;
		}
		sum=i+j+k;               //从2010年1月1日开始到输入日期的总天数
		switch(sum%5)
		{
		case 0:
		case 1:
		case 2:cout<<"在打鱼"<<endl;break;  //当取余为0,1,2时是在打鱼
		case 3:
		case 4:cout<<"在晒网"<<endl;break;  //当取余为3,4时是晒网
		}
	}
	else
		cout<<"输入月份错误"<<endl;
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值