基本上,我試圖完成這種考試風格的考試練習題。我知道如何去做最後一個問題,而不是上課。我有點得到他們,但不知道如何將其應用於問題。任何人都可以給我一些關於如何創建一個C++類的起點或提示(或甚至可能的答案)?任何幫助深表感謝。問題在下面。道歉多久。C++類:基督教節假日計算器幫助
在1800數學家卡爾·弗里德里希·高斯提出的算法計算復活節假期的新公曆 日期( 年1752在大英帝國介紹)。對於這種需要數量的表達式來進行評估: 兩個術語M和N,這對於給定的y年保存值:
year M N
1700-1799 23 3
1800-1899 23 4
1900-2099 24 5
2100-2199 24 6
The expressions are:
a = y mod 19
b = y mod 4
c = y mod 7
d = (19a + M) mod 30
e = (2b + 4c + 6d + N) mod 7
如果22 + d + e爲小於32比這個總和是三月的復活節假期。 否則d + e-9是4月復活節的日子,除非: - 結果是4月26日,在這種情況下,復活節是在4月19日而不是 - 結果是4月25日,在這種情況下,復活節開啓四月18日當d是28和 一個大於10
a)實施,鑑於一年作爲參數的C/C++函數將 打印出來的復活節假期的日期。 (10分) 其他基督教節日可以從復活節日期算起: 耶穌受難日是復活節前的星期五。 棕櫚星期日是復活節前的星期日。 惠特週日是復活節後的7周。昇天日在惠特星期日前10天。 注意:4月和6月長30天,而3月和5月長31天。
b)設計/描述算法,用於識別假期「耶穌受難日」,「棕櫚星期天」,「昇天」和「星期日」的假期的基督徒的日期 。 (沒有源代碼需要此答案)(15分)
在由高斯描述的復活節計算算法術語M和N也 可以使用下面的表達式計算:
k = floor(y/100)
p = floor((13 + 8k)/25)
q = floor(k/4)
M = (15 − p + k − q) mod 30
N = (4 + k − q) mod 7
地板函數向下舍入一個值 - 在數學庫math.h中,這是 作爲一個C函數與原型double floor(double)一起提供;
c)生成一個C++類來實現基督教節假日計算器。它 應該具有代表日期的 日,月和年的私有屬性(成員變量),以及用於計算條款M和N的私有方法 。默認構造函數應將所有屬性設置爲 。它應該是可能的使用 set()方法更改年份,並使用get()方法檢索日期和月份。 該類還應包含針對不同假期的計算方法 - 例如:computeEaster()。
要了解如何創建C++類,請閱讀C++有關類的書中的章節! – 2011-05-16 20:58:40
只有當你期望我們中的一個人完成你的任務時,才能給我們確切的復活節算法。我們不是。如果你在一個C++類中,並且你不知道如何爲一個任務創建一個類,那麼無論你是否有一個可怕的老師,或者你還沒有學會你應該做什麼。實施你能做的事,在課堂上學習,如果你在這裏發佈具體問題。 – 2011-05-16 21:04:56