Design a class-based solution to a problem

Assignment Help Programming Languages
Reference no: EM13778

To design a class-based solution to a problem using multiple data structures.

The Problem:

Write a program to help an investor figure out which stocks to sell from his/her portfolio. In the USA, the government taxes income from investments. This is called capital gains tax. Your program will determine profit and loss on stock sales, using either of two different accounting methods:

LIFO: Last purchased is the first sold

FIFO: First purchased is the first sold.

To illustrate these methods, suppose you have the following transactions:

Stock Name

Date

Number of shares

Price per share

UMKC

June 1

100

45.50

UMKC

June 6

100

46.50

UMKC

June 15

100

48.50

UMKC

June 22

100

55.50

Now, let's say you want to sell 125 shares of UMKC stock. You can choose to sell either the oldest or the newest shares. Today's price is $54.00/share. Under the FIFO method, the 125 shares sold are considered to have cost $5712.50 (100 shares at $45.50 and 25 shares at $46.50), earning a profit of $1037.50 for reporting taxable income to the IRS. Under the LIFO method, the 150 shares sold cost $6762.50 (100 shares at $55.50 and 25 at $48.50), which means you will report a loss of $12.50 to the IRS.

The program will allow for the following activities:

1. Stock Purchase--add the number of shares and cost to the portfolio list for that stock in the portfolio. If current portfolio does not have the stock already in inventory, the stock is added to the stock list and the shares added to its inventory.

2. Stock Sale-- deletes the specified number or shares from the portfolio and generates a report ("report.txt") of the accounting method (FIFO, LIFO) that results in the minimum profit (or maximum loss). The method that produces the desired results is also noted as part of the output for this option. 
The report file should look like the following:

3.  Profit/Loss Report for Sale of UMKC

4.  FIFO method results in a profit of 1037.50

5.  LIFO method results in a loss of -12.50

6.  Profit/Loss Report for Sale of PCS

7. FIFO method results in a profit of 3250

8. LIFO method results in a profit of 3375

Input

Your program will read all transaction data from a file.

Each line of the transaction file will include

  • stock symbol
  • action to be taken (char 'B' or 'S' to indicate a buy or sell)
  • the number of shares bought or sold
  • the price paid or received.

Example file contents:

IBM B 100 100.00
PCS B 100 100.00
PCS B 75 95.00
IBM B 100 90.00
IBM S 150 95.00
CERN B 200 80.00
PCS S 150 120.00

Output

For all valid transactions, print the transaction to the output file(output3.txt). After each valid transaction, print the total holdings of the portfolio.

Sample output:

Transaction:  CERN  B    200      80.00

Total Holdings:

Name  #Shares  LIFO Value  FIFO Value

CERN      200     1600.00     1600.00

IBM        50     5000.00     4500.00

PSC        25     2500.00     2250.00

============================================

If a transaction lists a sale of a given stock which is either not in the portfolio, or there are not enough shares owned, then print the transaction to an error file.

Reference no: EM13778

Questions Cloud

Prepare a staffing plan : Prepare a staffing plan showing the change of your unit from medical/surgical staffing to oncology staffing.
Microfluidics-based devices for simulating physiology : What aspects of the native organ function are replicated, and which are not? (this should include a quantitative analysis of function, for example filtration rates in artificial kidney compared to natural kidney)
Monitoring and recording the blood pressure : To increase the awareness of monitoring and recording the blood pressure of patients and practice measuring blood pressure in a safe environment.
Develop a marketing plan : Prepare a marketing plan for one or two new products in your own business and/or another business in your country or region with which you are familiar.
Design a class-based solution to a problem : To design a class-based solution to a problem using multiple data structures.
Open a named pipe and to read data from the pipe : Open a named pipe and to read data from the pipe in matlab
Analysis of wal-mart : Analysis of Wal-Mart as an MNE and its international position using concepts learned in class (for example, CSA/FSA, Hofstede's model etc.) Discuss factors considered in developing international business in China including the political environm..
Write a recursive implementation of euclids algorithm : Write a recursive implementation of Euclids algorithm
Prepare the necessary journal entries for stone company : Prepare the necessary journal entries for Stone Company

Reviews

Write a Review

Programming Languages Questions & Answers

  Create a custom application using eclipse

Create a custom Application Using Eclipse Android Development

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Ethics and social responsibility

Ethics and social responsibility at McDonalds

  Write a paper on memory management

Write a paper on Memory Management

  Explain the process to develop a web page locally

Explain the process to develop a Web page locally

  Write a vhdl code for soda vending machine

Write a VHDL code that implements the above soda machine. You have to turn in the following: A state diagram showing the implementation of your design. Clearly show all the states and the conditions on which transitions occur.

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Develops bespoke solutions for the rubber industry

Develops bespoke solutions for the rubber industry

  Programming assignment

If the user wants to read the input from a file, then the output will also go into a different file . If the user wants to read the input interactively, then the output will go to the screen .

  Development of the current strategic potential of airline

Evaluate the organisation's current external and internal strategic position

  Create a application using the mvc architecture

create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd