Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

If someone could help with this I would greatly appreciate it. language: Microsoft studios in c++ For your ISP Final Project you will need to

If someone could help with this I would greatly appreciate it.

language: Microsoft studios in c++

For your ISP Final Project you will need to create a Cryptocurrency Income Tax program. The program needs to be able to handle two types of transactions: mining (for holdings and identifying cost basis) and trading (to identify income and additional holdings). The program must support both manual input and the loading of transactions and US Dollar pricing from a file for both types of transactions. In order to calculate the correct amount of tax for the time at which the transaction has been processed, you will need to load an external file that contains the US Dollar prices for the specific types of currency (and allow for it to be added from your GUI). The program must keep a list of all the mining transactions including: 1. the type of currency (BTC), 2. their US Dollar cost basis, 3. the time it was mined, 4. the quantity, and 5. the cost basis (holdings). The program must also keep a list of all trading transactions including: 1. the from currency, 2. date and time of transaction, 3. quantity, 4. price, and 5. cost basis (for income/loss). Your program must also keep a holdings list for each type of currency to allow for saving of the calculated income/loss transactions. There should be one list item for each currency type in the holdings list. Below are examples of the files you will take in as input, the expected output, and some example calculations. Work on this step by step and test along the way. Start by loading the pricing file and make sure you can search it. I would recommend you then load the mining log, identify the holding, and store this in the holdings list along with the calculated cost basis from the pricing file. Assume all your trading transactions will update your holdings list to greater than zero and you wont need to remove any line items. For example, the BUY trading transactions should only add to your holdings for the traded currency type and the SELL trading transactions should only subtract from your holdings for the traded currency type (and also add a record to your trading transactions as I dont want you to attempt calculating partial cost basis calculations across different holding dates/prices). You must have 3 lists (holdings/transactions/pricing) and use the files and manual input to populate these lists, allowing for the transactions to be written to a file. Please use all of the concepts that we have learned from Chapters 1-8 (there are too many to list here) as part of this project. I am leaving the interface creation as an exercise for you to complete. You will need to work by yourself using the textbook, slides, notes, and if you have questions feel free to email me. Mining Log example file (used for cost basis - holdings) CRYPTO_PAIR, DATE_MMDDYYYY, TIME, QTY BTC, 01022018, 1000, 4.8 BTC, 01042018, 1100, 3.2 Trading Log example file (used to identify income/loss and new holdings) CRYPTO_PAIR, TRADE_TYPE, DATE_MMDDYYYY, TIME, QTY BTC-USD, SELL, 01062018, 0900, 1 USD-BTC, BUY, 01062018, 1200, 0.5 BTC-USD, SELL, 01082018, 1000, 3 Price example file (used to calculate price for cost basis and income/loss at trade time) CRYPTO_PAIR, DATE_MMDDYYYY, TIME, EXCHANGE_RATE BTC-USD, 01022018, 1000, 8657.23 BTC-USD, 01042018, 1100, 13234.24 BTC-USD, 01062018, 0900, 12001.02 BTC-USD, 01062018, 1200, 14032.21 BTC-USD, 01082018, 1000, 9667.00 Example transaction output from below calculation Currency, Date, Time, Quantity, Price, Cost Basis, Income/Loss BTC, 01062018, 0900, 1, 12001.02, 8657.23, 3343.79 Example Calculation The first line of the Mining log should produce the following information in your holding list: Currency, Date, Time, Quantity, Cost Basis BTC, 01022018, 1000, 4.8, 8657.23 When a SELL transaction is processed your transactions should keep track of the following information (with calculation, income/loss is price-cost basis) you need to update the holding list to take the quantity out of one of the holdings (if holdings goes to zero remove the item I dont expect you to handle this situation keep the program simple): Currency, Date, Time, Quantity, Price, Cost Basis, Income/Loss BTC, 01062018, 0900, 1, 12001.02, 8657.23, 3343.79 A subsequent BUY transaction should add to your holding list, note the first line in the holding lists quantity was updated to 3.8 from 4.8 due to the above SELL transaction: Currency, Date, Time, Quantity, Cost Basis BTC, 01022018, 1000, 3.8, 8657.23 BTC, 01062018, 1200, 0.5, 14032.21

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Modern Database Management

Authors: Fred R. McFadden, Jeffrey Slater, Mary B. Prescott

5th Edition

0805360549, 978-0805360547

More Books

Students also viewed these Databases questions

Question

Question Who can establish a Keogh retirement plan?

Answered: 1 week ago