// workorrest.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include
#include
#include
using namespace std;
#define refyear 2012
int mouthday[13] = ;
class date
//建構函式
date(string istring)
else
}//將string轉化為日期格式
bool converstringtodate(string istring, string isplit, vector&iodatevect);
//判斷傳入的字串是否都是數字
bool jugestringisnum(string istringnum );
//判斷輸入的日期是否符合規範
bool jugeeffectivedate();
//判斷是否是閏年
bool jugeleapyear( int iyear);
//計算距離日期的天數總和
int calculatesumday();
//得出結果 true為working
bool jugeworkorrest(int isumday);
private:
int year;
int mouth;
int day;
bool iscanuse;
};//將string轉化為日期格式
bool date::converstringtodate(string istring, string isplit, vector&iodatevect)
string ssubtemp = istring.substr(start, end - start);
//需要判斷 不為空 並且都是數字才可以呼叫下面這個轉化函式
if (jugestringisnum(ssubtemp))
start = end + 1;
}if (iodatevect.size() == 3)
else
return bisconverok;
}//判斷傳入的字串是否都是數字
bool date::jugestringisnum(string istringnum)
for (int i = 0; i < ilen; i++)
}return true;
}//判斷輸入的日期是否符合規範
bool date::jugeeffectivedate()
if (mouth > 12 || mouth < 1)
if (jugeleapyear(year) && mouth == 2)
}else
}return true;
}//判斷是否是閏年
bool date::jugeleapyear(int iyear)
return bisleap;
}//計算距離日期的天數總和
int date::calculatesumday()
else
}for (int mouthstart = 1; mouthstart < mouth; mouthstart++)
else
}sumday += day;
return sumday;
//得出結果 true為working
bool date::jugeworkorrest(int isumday)
return bisworking;
}int _tmain(int argc, _tchar* ar**)
date datecin(scinstring);
//判斷輸入的日期是否符合規範
if (datecin.jugeeffectivedate())
}return 0;
}
三天打魚,兩天曬網。
判斷某人從2010年1月1日起開始 三天打魚,兩天曬網 到之後某一天是在打漁還是曬網 設計日期 2019.3.1 include define year 2010 void main 用陣列表示每月的天數 printf 請輸入所要判斷的時間 n scanf 4d 2d 2d year,month,d...
三天打魚兩天曬網問題
中國有句俗語叫 三天打魚兩天曬網 某人從2010年1月1日起開始 三天打魚兩天曬網 問這個人在以後的某一天是 打魚 還是 曬網 1 輸入乙個年月日,判斷輸入的年月日是否符合實際。如果輸入符合要求,計算從2010年1月1日到所輸入日期的總天數。總天數的演算法 首先計算從2010到所輸入年份的所有年的天...
三天打魚兩天曬網(c )
中國有句俗語叫 三天打魚兩天曬網 某人從2010年1月1日起開始 三天打魚兩天曬網 問這個人在以後的某一天中是 打魚 還是 曬網 思路 問題分析與演算法設計 根據題意可以將解題過程分為三步 1 計算從2010年1月1日開始至指定日期共有多少天 2 由於 打魚 和 曬網 的週期為5天,所以將計算出的天...