Using C# and Visual Studio, design and implement a standalone command line application that fulfils the following requirements:

Microsoft Visual C#
7th Edition
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Joyce, Farrell.
Chapter2: Using Data
Section: Chapter Questions
Problem 2CP
icon
Related questions
Question

Using C# and Visual Studio, design and implement a standalone command line application that fulfils the following requirements:


1. The user shall be able to enter the following values:
a. Gross monthly income (before deductions).
b. Estimated monthly tax deducted.
c. Estimated monthly expenditures in each of the following categories:
i. Groceries
ii. Water and lights
iii. Travel costs (including petrol)
iv. Cell phone and telephone

v. Other expenses
2. The user shall be able to choose between renting accommodation or buying a property.
3. If the user selects to rent, the user shall be able to enter the monthly rental amount.
4. If the user selects to buy a property, the user shall be required to enter the following values for a home loan:
a. Purchase price of property
b. Total deposit
c. Interest rate (percentage)
d. Number of months to repay (between 240 and 360)
5. The software shall calculate the monthly home loan repayment for buying a property based on the values that the user entered.

6. If the monthly home loan repayment is more than a third of the user’s gross monthly income, the software shall alert the user that approval of the home loan is unlikely.
7. The software shall calculate the available monthly money after all the specified deductions have been made.
8. The software shall not persist the user data between runs. The data shall only be stored in memory while the software is running.
Non-functional requirements:
1. You are required to use internationally acceptable coding standards. Include comprehensive comments explaining variable names, methods, and the logic of programming code.
2. You are required to use classes and inheritance. Create an abstract class Expense, from which HomeLoan, etc., can be derived.
3. Store the expenses in an array.

Additional Requirements

1. The user shall be able to choose whether to buy a vehicle.
2. If the user selects to buy a vehicle, the user shall be required to enter the following values for vehicle financing:
a. Model and make.
b. Purchase price.
c. Total deposit.
d. Interest rate (percentage).
e. Estimated insurance premium.
3. The software shall calculate the total monthly cost of buying the car (insurance plus loan repayment). Assume that all cars will be repaid over a period of five years.
4. The software shall notify the user when the total expenses, including loan repayments, exceed 75% of their income.
5. Display the expenses to the user in descending order by value.

Non-functional requirements:
1. You are required to use internationally acceptable coding standards. Include comprehensive comments explaining variable names, methods, and the logic of programming code.
2. You are required to use classes and inheritance.
3. You are required to use a generic collection to store the expenses, and no longer an array.
4. You are required to use a delegate to notify the user when expenses exceed 75% of their income.

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Introduction to Coding
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,