
A = P(1+in) this formula will be used to calculate the home loan repayment, formula was modified to return the monthly repaymentĪ = A * (1 + ((interestRate * 0.01m) * (NumOfMonths / 12))) // n = number of years While (Validate.ValidateString(name)=false)Ĭonsole.Write("Estimated insurance premium: ") Int NumOfMonths = 60 // Repayment is assumed to be repaid over five years (60 months)Ĭonsole.WriteLine("Please enter the following details: ") Public override decimal MonthlyLoanPayment()ĭynamic price, deposit, interestRate,insurance If (option = 1) // User enters the value of their rent per monthĮlse // User enters details of the house they will be applying for a loan to buy a houseĬonsole.WriteLine("Would you like to buy a vehicle? ('1' Yes) or ('2' NO): ") Ĭonsole.WriteLine($"Your remaining month for the month after all deductions is: )!")

MonthlyExpenses.Add("Other", GetExpenses()) Ĭonsole.WriteLine("Would you like to rent ('1') or buy property ('2') ?: ") MonthlyExpenses.Add("Phone", GetExpenses()) MonthlyExpenses.Add("Tavel", GetExpenses()) Ĭonsole.Write("ii) Cellphone and Telephone: ") MonthlyExpenses.Add("Utlities", GetExpenses()) Ĭonsole.Write("iii) Travel costs (including petrol):") MonthlyExpenses.Add("Groceries", GetExpenses()) MonthlyExpenses.Add("Tax", GetExpenses()) Ĭonsole.WriteLine("c) Estimated monthly expenditures in each of the following categories: ") MonthlyExpenses.Add("Income", GetExpenses()) Ĭonsole.Write("b) Estimated tax deducted: ") Public void GetMonthlyExpenses(ExpensesWarning expensesWarning)Ĭonsole.WriteLine("Please enter the following values:") Ĭonsole.Write("a) Gross monthly income (before deductions): ") Public abstract decimal MonthlyLoanPayment() // Abstract method

Public delegate void ExpensesWarning(IDictionary expenses) The main concern I have with the project is that I'm not using abstract classes correctly.
#MONTHLY EXPENSES CODE#
Any feedback on the code would be appreciated. I've been working on this project for a day.
