訪問【WRITE-BUG數字空間】_[內附完整源碼和文檔]
本次項目的要求是完成一個房貸計算器的設計,實現(xiàn)商業(yè)貸款、公積金貸款和組合貸款的利息計算三種功能未辆。并且使用Qt或其他的界面庫設計人機交互界面睛琳,要求界面友好方便使用。并且必須使用面向對象的思想進行設計鬼店,使用C++編程网棍。
1.題目要求及分析
本次大作業(yè)的要求是完成一個房貸計算器的設計,實現(xiàn)商業(yè)貸款妇智、公積金貸款和組合貸款的利息計算三種功能滥玷。并且使用 Qt 或其他的界面庫設計人機交互界面氏身,要求界面友好方便使用。并且必須使用面向對象的思想進行設計惑畴,使用 C++ 編程蛋欣。
通過對題目的理解和分析,為了在實際開展時有清晰的方向如贷,并能提高學習的效率陷虎,我將要求分為了以下幾個步驟:
學習房貸計算的相關知識,了解不同貸款的區(qū)別杠袱,通過調研我發(fā)現(xiàn)在貸款計算方式上分為等額本金和等額本息兩種尚猿,所以也要學習不同方式的就算方法;
掌握了房貸相關的基本知識后楣富,理清思路用面向對象的思想設計程序凿掂,將瑣碎的問題系統(tǒng)化分類,進行程序的設計纹蝴,即完成基礎實現(xiàn)代碼庄萎,檢驗程序的可運行性;
學習 Qt 的相關知識塘安,掌握界面設計的方法糠涛,其中包含界面和控件的設計和使用;
用所學的 Qt 知識布局界面耙旦,再將實現(xiàn)代碼根據 Qt 中函數的設計修改脱羡,以達到在自己設計的界面中可以實現(xiàn)計算器的正常運行;
多次調試和優(yōu)化自己的設計免都,尤其注意人機友好型锉罐,使程序具有一定的健壯性,不會因為用戶的輸入錯誤而引起程序的運行失敗绕娘。
2.代碼設計思路
通過對房貸相關知識的調研脓规,我基本了解了商業(yè)貸款、公積金貸款以及組合貸款三者的區(qū)別和聯(lián)系险领。并且通過搜索網頁上所提供的房貸計算器侨舆,我發(fā)現(xiàn)對于貸款的計算方式也分為兩種:等額本金和等額本息。并且這將作為在設計時的重點和難點绢陌,我也在這方面上投入了較多的時間學習挨下。
對于整個房貸計算器來說,我將它們分為兩大類:商業(yè)貸款和公積金貸款為一類(稱為 Shang 類)脐湾,組合型貸款單獨為一類(稱為 Mix 類)臭笆。這樣分類的依據是:前者的計算思路一致,唯一的不同點僅在于二者的貸款利率不同;后者是綜合了商業(yè)貸款和公積金貸款愁铺,所以在 Shang 類設計完成后鹰霍,只需將兩者結合,構造出新的 Mix 類即可茵乱,可以使設計更為簡單(流程圖見圖 1-1)茂洒。
(一)商業(yè)貸款、公積金貸款類
對于商業(yè)貸款瓶竭、公積金貸款統(tǒng)一寫為 Shang 類督勺,它們的計算方式也分為兩種:按面積單價來計算和按貸款總額來計算。所以 Shang 類的構造函數設計了重載函數來實現(xiàn)斤贰,一個的參數是用戶輸入的面積單價玷氏、總面積、按揭成數腋舌、年數和年利率;另一個的參數是單款額渗蟹、貸款年數和年利率块饺。其目的都是得到總價(all(僅用于面積單價時))、貸款總額(total)雌芽、按揭月數(month)授艰、首月月供(firstmonth)、和利息(lixi)世落。
得到相關數據之后淮腾,設計了成員函數 Cal1()和 Cal2()來完成計算,利用等額本金屉佳、等額本息的計算方式得到每月還款額谷朝、總利息。下面介紹計算方法:
等額本金:
每月還款額 = 每月還款本金 + 每月還款利息武花;
每月還款本金 = 貸款總額/貸款月數圆凰;
每月還款利息 = 貸款本金余額 * 貸款月利率;
總利息 = (還款月數 +1)貸款總額月利率/2体箕;
等額本息:
每月應還款額 = 貸款本金月利率(1+ 月利率)^ 還款月數/((1+ 月利率)^ 還款月數-1)专钉;