Instructions:
ISOM 3029 - Computer Programming Using C++ 2023/2024 (First Semester)
Assignment 2
Due date: December 8, 2023 (at noon, in FBA office)
-
Read the Assignment Requirements posted in the UMMoodle before attempting to solve the following problems with C++ programs.
-
Both the hardcopy and softcopy of your assignment should be submitted on time.
-
All programs are to be compressed and uploaded to the UMMoodle under the
“Submit Assignment 2” button.
-
The compressed file should be named with your student number such as
“ba12345_Ass2.zip”.
Write a C++ program that helps a company to perform financial analysis on Net Profit Ratio (NPR), Current Ratio (CR), and Return On Assets (ROA). NPR is calculated by net profit divided by total sales, CR is calculated by current assets divided by current liabilities and ROA is calculated by net profits divided by the total assets (where total assets = current assets + fixed assets).
Your program will produce 12 monthly records about month number, net profits, total sales, current assets, current liabilities and fixed assets to be stored in a text file named “finance.txt”. The first line of your finance file should contain strings of Month, Net_Profits, Total_Sales, Cur_Assets, Cur_Lia and Fix_Assets, being separated by a whitespace. Create a two-dimensional array named “data[1][5]” to store the month number and 5 groups of financial data for each month, and they should be written onto the finance file starting from the second line, being separated by a whitespace. The month number should be automatically generated (e.g. 1, 2, 3, 4 etc.) in your program, and the values for the other financial data should be randomly generated with the range between $0.00 to $1000.00. (Hint: You can randomly generate integers between 0 to 100000 and divide the random numbers by 100.0 to obtain a decimal value.) The amount for “Net Profits” should not exceed “Total Sales”. Create a new array named “ratios[1][3]” to store the month number and 3 financial ratios (i.e. NPR, CR and ROA) with 4 decimal places. Please be reminded to initialize all your array values to 0 upon declaration.
An instruction will be displayed at the beginning upon program execution, requesting the user to create the 2 two-dimensional arrays mentioned above. Your program should generate the financial data to the “finance.txt” file, and calculate all the financial ratios which should be stored in another output file named “outfile.txt” at the end. That means the “outfile.txt” file should include all the financial data of the “finance.txt” file plus 3 more columns about financial ratios: “NPR”, “CR”, and “ROA”. The user could choose to perform any one of the following functions in the user menu:
-
Show All Data : Create and show all the monthly financial data in a tabular format
-
Show All Ratios : Create and show all the monthly financial ratios in a tabular format
-
P.1
-
Show an NPR : Retrieve and show the net profit ratio (NPR) in % for a specific month requested by the user, with the month name shown
-
Compare CR : Compare and state whether there is a rise or drop in the current ratio (CR) between two months by accepting the month numbers from the user
5. Exit
Each item from the user menu should be a separate function of its own. The function prototypes are as
follows:
1. void showData(double data[rowSize][colSizeD]);
2. void showRatios(double ratios[rowSize][colSizeR]);
3. void showNPR(const double ratios[rowSize][colSizeR], int month);
4. boolcompareCR(constdoubleratios[rowSize][colSizeR]intmonth1,intmonth2);
Sample Input & Output:
Welcome to the Financial Analysis System!
Create your financial data and financial ratios arrays now? Y/N: Y
Financial data and financial ratios arrays are successfully built!
Financial Analysis System
+++++++++++++++++++++++++++++++++
1. Show All Data
2. Show All Ratios
3. Show an NPR
4. Compare CR
5. Exit
+++++++++++++++++++++++++++++++++
Please enter your choice (1-5): 1
Month Net_Profits Total_Sales Cur_Assets Cur_Lia Fix_Assets ===================================================================
1 100.23 900.43 2 199.02 343.56 3 333.33 510.54 ... ......
12 90.10 323.33 =================================================================== All financial data are stored in the “finance.txt” file!
Financial Analysis System
+++++++++++++++++++++++++++++++++
1. Show All Data
2. Show All Ratios
3. Show an NPR
4. Compare CR
5. Exit
+++++++++++++++++++++++++++++++++
184.53 33.23 330.23 23.44 99.40 100.25
89.33
92.23
733.56
83.34 3.45
999.29
P.2
Please enter your choice (1-5): 2
Month NPR CR ROA ================================================
5.5531 0.3659 14.0883 0.4710 0.9915 0.4001
-
1 0.1113
-
2 0.3464
-
3 0.6528
... ......
12 0.2786
================================================
Financial Analysis System +++++++++++++++++++++++++++++++++ 1. Show All Data 2. Show All Ratios 3. Show an NPR 4. Compare CR 5. Exit +++++++++++++++++++++++++++++++++ Please enter your choice (1-5): 3 Please enter the month number : 1 The NPR for January is 11.13%.
Financial Analysis System
+++++++++++++++++++++++++++++++++
1. Show All Data
2. Show All Ratios
3. Show an NPR
4. Compare CR
5. Exit
+++++++++++++++++++++++++++++++++
Please enter your choice (1-5): 5
Thank you very much!
24.1565 0.2986
All financial data and ratios are successfully stored in the “outfile.txt”
file!
P.3