Using C# and Visual Studio, design and implement a standalone command line application that fulfils the following requirements:
Addition of Two Numbers
Adding two numbers in programming is essentially the same as adding two numbers in general arithmetic. A significant difference is that in programming, you need to pay attention to the data type of the variable that will hold the sum of two numbers.
C++
C++ is a general-purpose hybrid language, which supports both OOPs and procedural language designed and developed by Bjarne Stroustrup. It began in 1979 as “C with Classes” at Bell Labs and first appeared in the year 1985 as C++. It is the superset of C programming language, because it uses most of the C code syntax. Due to its hybrid functionality, it used to develop embedded systems, operating systems, web browser, GUI and video games.
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.
Trending now
This is a popular solution!
Step by step
Solved in 2 steps