本人小白接触C\C++时间不长,对于三天打鱼两天晒网问题解决的方法比较片面,不对的地方请高手大牛们指教小弟一二,感激不敬,接下来就是问题的解决思路,
1、先判断输入的日期是否正确(因为年没有<=0,月份没有≤0并且没有大于12的,日期没有≤0并且最大不能超过31)。
2、输入的日期判断是否为闰年。
3、计算出总天数(年差天数+月差天数+天数)。
4、总天数%5求余数(余数为1,2,3代表今天打鱼,4,5代表今天晒网)。
接下来直接上干活,源代码:
#include<iostream>
using namespace std;
class Judge
{
public:
int year; //年份
int month; //月份
int day; //日期
void judge(); //判断是打鱼还是晒网
};
int main()
{
FILE *p1,*p2;
Judge M;
p1=fopen("input.txt","rb");
p2=fopen("output.txt","wb");
fscanf(p1,"&d&d&d",M.year,M.month,M.day);
cout<<"从input.txt当中读取的日期为:"<<M.year<<M.month<<M.day<<endl;
fprintf(p2,"从input.txt当中读取的日期为:%d-%d-%d