三天打鱼两天晒网

中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
.使用文件进行数据测试。如将日期 20100101 20111214 等数据保存在in.txt文件中,程序读入in.dat文件进行判定,并将结果输出至out.txt文件。


#include<iostream>
using namespace std;
#include<fstream>
void main()
{ 
 ofstream outfile("out.txt",ios::out);//以输出的方式打开out.txt
 ifstream infile("in.txt",ios::in);//以输入的方式打开in.txt
 int year,month,day,x,y,allday=0;
 int array[2][13]=
 {
 	{0,31,28,31,30,31,30,31,31,30,31,30,31,},  
             {0,31,29,31,30,31,30,31,31,30,31,30,31,},//平均每月的天数
      };
     infile>>year>>month>>day; 
 infile.close();//关闭in.txt
 ofstream out1file("in.txt",ios::out);//以输出的方式打开in.txt
 while(year<2010)
 {

 	cout<<"年份错误,请输入大于等于2010的年份\n";
 	cin>>year>>month>>day;
 	out1file<<year<<" "<<month<<" "<<day;
 	out1file.close();//关闭in.txt

 }
 for(x=2010;x<year;x++)
 { if(year%4==0&&x%100!=0||year%400==0)//判断输入年份是否为闰年
     allday+=365;
 else
 	allday+=366;
 } //计算到输入年份1月1日共多少天
 y=year%4==0&&x%100!=0||year%400==0;
 for(x=1;x<month;x++)
 { allday+=array[y][x];}
 allday+=day; //计算本年中自1月1日起的天数
 outfile<<"从2010年1月1日到"<<year<<"年"<<month<<"月"<<day<<"日  共进行了"<<allday<<"天\n";
 cout<<"从2010年1月1日到"<<year<<"年"<<month<<"月"<<day<<"日  共进行了"<<allday<<"天\n";
 allday=allday%5;
 
             if(allday>0&&allday<4)//用计算出的总天数除以5,判断正在打鱼还是晒网
 {
 	outfile<<"今天小迪正在打鱼\n"; 
     cout<<"今天小迪正在打鱼\n";
 }
 else
 {
 	outfile<<"今天小迪正在晒网\n";
     cout<<"今天小迪正在晒网\n";
 }
 outfile.close();//关闭out.txt
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值