#include<iostream>
#include<fstream>
using namespace std;
void main()
{
int Yday(int year);
int Mday(int year,int month);
int Dday(int day);
int temp;
int year,month,day;
int days;//总共经过的天数
cout<<"渔夫从2010年1月1日开始:三天打鱼,两天晒网"<<endl<<endl;
ifstream fin;
fin.open("in.txt",ios::in);
if(!fin.is_open())
{
cout << "打开输入文件错误";
exit (1);
}
else {}
ofstream fout;
fout.open("out.txt",ios::out | ios::trunc);
if(!fout.is_open())
{
cout << "打开输出文件错误"<<endl;
exit (0);
}
else {}
while (!fin.eof())
{
fin>>temp;
day=temp%100;
month=((temp-day)%10000)/100;
year=temp/10000;
if(year<2010)
{
cout<<year<<"年"<<month<<"月"<<day<<"日"<<"日期错误"<<endl<<endl;
fout<<year<<"年"<<month<<"月"<<day<<"日"<<"日期错误"<<endl<<endl;
continue;
}
if(month>12||month<1)
{
cout<<year<<"年"<<month<<"月"<<day<<"日"<<"日期错误"<<endl<<endl;
fout<<year<<"年"<<month<<"月"<<day<<"日"<<"日期错误"<<endl<<endl;
continue;
}
if(day>31||day<1)
{
cout<<year<<"年"<<month<<"月"<<day<<"日"<<"日期错误"<<endl<<endl;
fout<<year<<"年"<<month<<"月"<<day<<"日"<<"日期错误"<<endl<<endl;
continue;
}
if(month==4||month==6||month==9||month==11)
if(day>30||day<1)
{
cout<<year<<"年"<<month<<"月"<<day<<"日"<<"日期错误"<<endl<<endl;
fout<<year<<"年"<<month<<"月"<<day<<"日"<<"日期错误"<<endl<<endl;
continue;
}
if(year%4==0)
if(month==2)
if(day>29||day<1)
{
cout<<year<<"年"<<month<<"月"<<day<<"日"<<"日期错误"<<endl<<endl;
fout<<year<<"年"<<month<<"月"<<day<<"日"<<"日期错误"<<endl<<endl;
continue;
}
if(year%4!=0)
if(month==2)
if(day>28||day<1)
{
cout<<year<<"年"<<month<<"月"<<day<<"日"<<"日期错误"<<endl<<endl;
fout<<year<<"年"<<month<<"月"<<day<<"日"<<"日期错误"<<endl<<endl;
continue;
}
days=Yday(year)+Mday(year,month)+Dday(day);
cout<<"从2010年1月1日到"<<year<<"年"<<month<<"月"<<day<<"日"<<"总共经过了"<<days<<"天"<<endl;
fout<<"从2010年1月1日到"<<year<<"年"<<month<<"月"<<day<<"日"<<"总共经过了"<<days<<"天"<<endl;
if(days%5<=2)
{
cout<<"渔夫今天正在打鱼"<<endl<<endl;
fout<<"渔夫今天正在打鱼"<<endl<<endl;
}
else
{
cout<<"渔夫今天正在晒网"<<endl<<endl;
fout<<"渔夫今天正在晒网"<<endl<<endl;
}
}
fin.close();
fout.close();
/*cout<<"查询渔夫今天在做什么,请输入现在日期的 年 月 日(用空格隔开)"<<endl<<endl;
int year,month,day;//保存现在的年月日
cin>>year>>month>>day;
if(year<2010)
{
cout<<"请输入正确的日期"<<endl<<endl;
exit(0);
}
if(month>12||month<1)
{
cout<<"请输入正确的日期"<<endl<<endl;
exit(0);
}
if(day>31||day<1)
{
cout<<"请输入正确的日期"<<endl<<endl;
exit(0);
}
if(month==4||month==6||month==9||month==11)
if(day>30||day<1)
{
cout<<"请输入正确的日期"<<endl<<endl;
exit(0);
}
if(year%4==0)
if(month==2)
if(day>29||day<1)
{
cout<<"请输入正确的日期"<<endl<<endl;
exit(0);
}
if(year%4!=0)
if(month==2)
if(day>28||day<1)
{
cout<<"请输入正确的日期"<<endl<<endl;
exit(0);
}
int days;//总共经过的天数
days=Yday(year)+Mday(year,month)+Dday(day);
if(days%5<=2) cout<<"渔夫今天正在打鱼"<<endl;
else cout<<"渔夫今天正在晒网"<<endl;*/
}
int Yday(int year)//因年差的日期
{
return (year-2010)*365+(year-2008)/4;
}
int Mday(int year,int month)//因月差的日期
{
int d;
if(year%4==0)
switch(month)
{
case 1:
d=0;
break;
case 2:
d=31;
break;
case 3:
d=59;
break;
case 4:
d=90;
break;
case 5:
d=120;
break;
case 6:
d=151;
break;
case 7:
d=181;
break;
case 8:
d=212;
break;
case 9:
d=243;
break;
case 10:
d=273;
break;
case 11:
d=304;
break;
case 12:
d=334;
break;
default:
d=0;
break;
}
if(year%4!=0)
switch(month)
{
case 1:
d=0;
break;
case 2:
d=31;
break;
case 3:
d=59;
break;
case 4:
d=90;
break;
case 5:
d=120;
break;
case 6:
d=151;
break;
case 7:
d=181;
break;
case 8:
d=212;
break;
case 9:
d=243;
break;
case 10:
d=273;
break;
case 11:
d=304;
break;
case 12:
d=334;
break;
default:
d=0;
break;
}
return d;
}
int Dday(int day)//因日差的日期
{
return day-1;
}
三天打鱼两天晒网
最新推荐文章于 2023-02-02 00:49:49 发布