Task 1 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 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. (See https://www.siyavula.com/read/maths/grade-10/finance-and-growth/09-finance-andgrowth-03 for more information on how to calculate this). 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.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Task 1

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

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. (See
https://www.siyavula.com/read/maths/grade-10/finance-and-growth/09-finance-andgrowth-03 for more information on how to calculate this).
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.

Task 2

The application must still perform all the functions from Task 1, with the following features added:
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

Task 3 

For this task, you are required to update your application to have a graphical user interface (GUI)
built using  Windows Presentation Foundation (WPF)

All the same functionality must be available in the new user interface that was in the command
line application from Task 2 (just presented in a more user-friendly way), with  one of the following features added:

1. The user shall be able to choose to save up a specified amount by a certain date for a
specified reason, e.g. save R100 000 for an honours degree over five years. Given the
interest rate that will be earned on the savings, calculate how much the monthly saving
should be to reach the goal.

NB: Do Task 3 only

 

Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY