|
題目
第 3 題:本利和(使用繼承)
- 題目說明
請開啟 CSD03.csproj 專案的 Program.cs 檔案,為銀行編寫不同的客戶等級計算貸款時,依不同年利率下每年會產生的本利和。請依下列題意完成作答,儲存完整程式,產出的執行檔命名為 CSA03.exe。
- 設計說明
-
CustomerType.cs 內已定義四種不同市場的 CustomerType 列舉值,分別為 Standard、Small and Medium Business、Enterprise、Government。
- 增加「請輸入本金:」,並納入本利和計算公式。
- 不同客戶等級的存貸款利率為:
市 場 |
貸款利率(LOAN) |
'存款利率(SAVING) |
Standard(一般) |
9% |
6% |
Small and Medium Business(中小企業) |
7% |
3.5% |
Enterprise(企業) |
6% |
3% |
Government(政府) |
3% |
2% |
-
程式內已提供一個 RateCalculator 抽象類別以及 Calculate()抽象方法,傳入 CustomerType 與額度,傳回本利和。
-
程式必須依「存款」與「貸款」設計不同的類別,「貸款」類別命名為 LoanRateCalculator,「存款」類別命名為 SavingRateCalculator,必須繼承 RateCalculator 類別並覆寫 Calculate()方法,顯示如執行結果參考畫面。
- 若傳入的 CustomerType 未被支援時,需擲回 NotSupportedException 例外。未繼承 RateCalculator 類別並覆寫 Calculate()方法者,不予計分。
- 本利和以單利計算。
- Program 類別內已提供 GetLoanCalculator()與 GetSavingCalculator(),請補
足必要的程式碼。
- 輸出必須格式化為貨幣格式(例如$2,000,000)。
*提示:本利和計算公式=本金 * (1+利率)。
- 執行結果參考畫面
- 評分項目
項 目 |
配 分 |
得 分 |
(1) 繼承 RateCalculator 類別並覆寫 Calculate() 方法是否正確? |
8 |
|
(2) 實作「貸款」與「存款」之本利和計算是否正確? |
8 |
|
(2) 將輸出格式化為貨幣格式 |
4 |
|
(3) 若傳入的 CustomerType 未被支援時,需擲回 NotSupportedException 例外 (未繼承 RateCalculator 類別並覆寫 Calculate() 方法者,不予計分。) |
4 |
|
(4) 輸入本金後並將其納入公式計算,是否正確? |
6 |
|
總 分 |
30 |
|
程式碼 (Visual Studio 2022 c#)
客戶名稱定義
主程式 Main
原計算本利和程式 RateCalculator
繼承原本利和計算的貸款程式 LoanRateCalculator
繼承原本利和計算的存款程式 SavingRateCalculator
執行結果
程式 (2022 C# 版)
|