建民の每日打卡3

一、问题描述

某人从1990年一月一日开始“三天打鱼两天晒网”,问某天以后是打鱼还是晒网?

二、设计思路

1.输入日期

2.求1990年一月一日到该日期天数

3.对天数求余,根据余数输出“打鱼”或“晒网”

三、程序流程图

 
   

四、代码实现

#include <iostream>
using namespace std;
class Date{
public:
Date(int y,int m,int d){
year=y;
month=m;
day=d;
}
int runyear(){
int k;
for(int i=1990;i<year-1;i++){
if(i%4==0&&i%100!=0||i%400==0){
k++;
}
}
return k;
}
int getmonth(){
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int n;
if(month>2&&(year%4==0&&year%10!=0||year%400==0)){
n++;
}
for(int i=0;i<month;i++){
n+=a[i];
}
return n;
}
int getyear(){
return (year-1990)*365;
}
int getday(){
return day-1;
}
private:
int year,month,day;
};
int main(){
int a,b,c;
cin>>a,b,c;
Date n(a,b,c);

int totalday=n.runyear()+n.getyear()+n.getmonth()+n.getday();
if(totalday%5==1||totalday%5==2||totalday%5==3){
cout<<"打鱼"<<endl;
} else{
cout<<"晒网"<<endl;f
}
}

posted on 2023-04-14 17:05  带带带集美  阅读(18)  评论(0编辑  收藏  举报