課設 C 實現萬年曆

2021-07-13 23:56:24 字數 1876 閱讀 7711

①輸入年份,列印出該年份12個月的月曆

②輸入年份、月份,輸出對應年份月份的月曆

③輸入具體的乙個日期,輸出這一天是星期幾,並計算出與當天相隔的日期數,以及輸出公曆節日(若有)。

#include #include using namespace std;

class date//定義乙個日期類

//建構函式

void setyear (int y) //改變年份的介面

void setmonth(int m) //改變月份的介面

void setday (int d)//改變日期的介面

int getyear() const //得到年份

int getmonth() const //得到月份

int getday() const //得到日期

//date operator+(int days); //運算子「+」的過載

//date operator-(int days); //運算子"-"的過載

static bool isleapyear(int y)//定義布林型,判斷閏年的函式

static int getyeardays(int y)//得到一年的日子

static int getmonthdays (const date &d); //得到月份的日子

static int week(const date& d)

w = d.day+2*m+3*(m+1)/5+y+y/4-y/100+y/400;

w=w%7+1;

return w;

} int date_count(const date&d) //計算輸入日期到0年1月1日的天數

}else n=0;

if(!(d.getyear()%400==0||d.getyear()%4==0&&d.getyear()%100!=0) && d.getmonth()>2)

n--;

t=a+n-1+d.getday();

return t;

} private:

int year; //定義三個私有成員

int month;

int day;

};ostream& operator<

istream& operator>>(istream &in,date &d); //過載「>>」操作符

int date::getmonthdays(const date&d) //得到具體一月的天數 }

ostream &operator<

inline void printyear(int y)//列印域寬

inline void printline()//列印行

void printmonth(int m)//列印月份

; cout << setw(27) << month[m] << "月" <> y;

---------------》用c語言實現萬年曆

C實現萬年曆

要求 輸入年份輸出這一年的日曆 注意 公元1900年一月一日是星期一,這一年是平年 思路 獲取輸入的年份y,首先獲取從公元1900年到 y 1 年 的天數,然後獲得該年份的第一天是星期幾,進行輸出。這次例項,我花費了很長的時間,最後發現錯誤的原因出在在求某一年是閏年還是平年的時候,我沒有田間retu...

C 實現簡易萬年曆

如下 檔名稱 萬年曆.cpp 作 者 chenghan 完成日期 2019 1 10 版 本 號 1.0 問題描述 製作乙個簡單的萬年曆 include include using namespace std 判斷一年是否為閏年,是返回true 否返回false bool isleapyear in...

C 實現萬年曆功能

1.此萬年曆功能 1 日期加減天數 2 日期與日期之間的差值 3 輸入年月顯示當月日曆 2.實現 include include using namespace std class date bool judgerightdate 判斷值是否合法函式 else int judgeyear int y...