I am writing this C program and I need help putting it into
I am writing this C++ program and I need help putting it into functions and outputting the answers to a file. Could you also check to see if my answer is correct?
/*
Program Directions :
Last month Joe Purchased some stock in Acme Software, Inc. Here are the details of
the purchase:
* The number of shares that Joe purchased was 1,000.
* When Joe purchased the stock, he paid $45.50 per share.
* Joe paid his stock broker a commission that amounted to 2% of the amount he paid
for the stock.
Two weeks later joe sold the stock. Here are the details of the sale:
* The number of shares that Joe sold was 1,000.
* He sold the stock for $56.90 per share.
* He paid his stock broker another commission that amounted to 2% of the amount
he received for the stock.
Write a program that displays the following information:
* The amount of money Joe paid for the stock.
* The amount of commission Joe paid his broker when he bought the stock.
* The amount that Joe sold the stock for.
* The amount of commission Joe paid his broker when he sold the stock.
* Display the amount of profit that Joe made after selling his stock and paying
the two commissions to his broker. (If the amount of profit that your program
displays is a negative number, then Joe lost money on the transaction.)
*/
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double sharesBought, stockPrice1, commission1, sharesSold, stockPrice2, commission2;
double total1, total2;
cout << \"\ ------------------------------------------\ \"
<< \" Stock Transaction Program\ \"
<< \"\ ------------------------------------------\ \";
sharesBought = 1000;
sharesSold = 1000;
stockPrice1 = 45.50;
stockPrice2 = 56.90;
commission1 = (sharesBought * stockPrice1) * 0.02;
commission2 = (sharesSold * stockPrice2) * 0.02;
total1 = (sharesBought * stockPrice1) + commission1;
total2 = (sharesSold * stockPrice2) + commission2;
cout << setprecision(2) << fixed;
cout << \"Amount Joe paid for the stock: $\" << sharesBought * stockPrice1 << endl;
cout << \"Commission Joe paid to broker : $\" << commission1;
cout << \"\ -----------------------------\ \";
cout << \"Joe sold the stock for: $\" << sharesSold * stockPrice2 << endl;
cout << \"Commission Joe paid to broker : $\" << commission2 << endl;
cout << \"Profit: \" << total2 - total1 << \"\ \ \";
system(\"pause\");
return 0;
}
Solution
In the following methods this can be done
#include <fstream> // For ifstream, ofstream
#include <iomanip> // For setprecision()
#include <iostream> // For endl, fixed
using namespace std;
int main()
{
// Open the input file for reading.
ifstream fin(\"stock-in.txt\");
// Read the input data from the input file stream.
int shares;
double purchPriceShare, purchCommPct, sellPriceShare, double sellCommPct;
fin >> shares;
fin >> purchPriceShare;
fin >> purchCommPct;
fin >> sellPriceShare;
fin >> sellCommPct;
fin.close();
// Convert the percentages (which we read from the file in a form such as 2.5 to 0.025).
purchCommPct = purchCommPct / 100; // Acceptable to write purchCommPct /= 100;
sellCommPct = sellCommPct / 100; // Acceptable to write sellCommPct /= 100;
// Calculate the purchase price for all of the shares.
double purchPrice = shares * purchPriceShare;
// Calculate the purchase commission.
double purchComm = purchPrice * purchCommPct;
// Calculate the total purchase price, including the purchase commission.
double totalPurchPrice = purchPrice + purchComm;
// Calculate the gross earnings from the sell.
double grossEarnings = shares * sellPriceShare;
// Calculate the sell commission.
double sellComm = grossEarnings * sellCommPct;
// Calculate the net earnings from sell.
double netEarnings = grossEarnings - sellComm;
// Calculate the profit or loss from the sell.
double profitLoss = netEarnings - totalPurchPrice;
// Open the output file for writing.
ofstream fout(\"stock-out.txt\");
// Configure fout so real numbers are displayed in fixed point notation with 2 digits after the decimal
// point. Configure fout so the numbers will be output right justified in the fields.
fout << fixed << setprecision(2) << right;
// Now, output the data.
fout << \"Number of Shares Purchased: \" << setw(10) << shares << endl;
fout << endl;
fout << \"Purchase Price Per Share: $\" << setw(10) << purchPriceShare << endl;
fout << \"Purchase Price: $\" << setw(10) << purchPrice << endl;
fout << \"Purchase Commission (\" << (purchCommPct * 100) << \"%): $\" << setw(10) << purchComm << endl;
fout << \"Total Purchase Price: $\" << setw(10) << totalPurchPrice << endl;
fout << endl;
fout << \"Sell Price Per Share: $\" << setw(10) << sellPriceShare << endl;
fout << \"Gross Earnings from Sell: $\" << setw(10) << grossEarnings << endl;
fout << \"Sell Commission (\" << (sellCommPct * 100) << \"%) $\" << setw(10) << sellComm << endl;
fout << \"Net Earnings from Sell: $\" << setw(10) << netEarnings << endl;fout << endl;
fout << \"Profit/Loss: $\" << setw(10) << profitLoss << endl;
// Close the output file.
fout.close();
// Return 0 from main to indicate that the program terminated normally without errors.
return 0;
}


