前言
中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。用C++语言编写程序解决问题。
一、分析题目
根据题意可以将解题过程分为三步:
1)计算从2010年1月1日开始至指定日期共有多少天;
2)由于“打鱼”和“晒网”的周期为5天,所以将计算出的天数用5去除;
3)根据余数判断他是在“打鱼”还是在“晒网”;
若 余数为1,2,3,则他是在“打鱼”
否则 是在“晒网”
在这三步中,关键是第一步。求从2010年1月1日至指定日期有多少天,要判断经历年份中是否有闰年,二月为29天,平年为28天。
二、具体代码
代码如下
#include<iostream>
using namespace std;
class Data
{
public:
int year ;
int month ;
int day ;
int days ;
};
class Data1 : public Data
{
public:
void get_data();
bool runnian(int year);
int getdays(int year, int month);
int countday(int year, int month, int day);
void judgedata();
void count();
void judge(int days);
};
//输入指定日期
void Data1::get_data()
{
cout << "请输入年份:" << endl;
cin >> year