Current Ratio - Assignment Specifications
In this assignment, you develop a program to produce a current ratio report.
The current ratio is used in accounting to measure a company's financial condition. To compute the ratio, one divides the company's current assets by the current liabilities. Here is a sample set of data (2010 to 2012). The first line is the company name, appearing in column one (a maximum of 30 characters in length). In each subsequent line, the first number (starting in column 1) represents the current assets and the second number (starting in column 10) represents current liabilities. Here is some sample data to use (no blank line appears in the data file at the beginning)
Hi-Tech Leisure Products
47900 31007
34500 9100
57984 14822
You should write a batch (file input) program that reads this data in this format (laid out as you see it above, on four lines) from a textfile, then produces a report (sent to a disk file) that displays it along with the current ratio for each year. Assume 2010, 2011, and 2012 are the three years in question. Here's sample output for the data you see above:
Hi-Tech Leisure Products
Current Ratio Report
Current Current Current
Year Assets Liabilities Ratio
----------------------------------------------------------
2010 47900 31007 1.54
2011 34500 9100 3.79
2012 57984 14822 3.91
----------------------------------------------------------
Average 46795 18310 3.08
The data will allows be whole values (no cents), but may run into the millions. No cents are to be displayed. The current ratio will always be displayed rounded to two decimal digits, and could be up to 9999.99. The averages are rounded to the nearest whole dollar.
You must create the data file in the manner discussed in the lecture.
Note that the various asset and liability numbers could be 5 digit, 4 digit, or even 3 digit or 6 digit. The numeric formats you use to print should not vary based on what you see for this particular set of sample data. Your program should be able to consistently produce a properly aligned report with all different sizes of numbers without changing the code!
Please be careful in noting how things are aligned. The "t" in "Current" is over the last digit of each number. Proper and exact alignment of all elements of the report will be part of your score.
The program must be written using modularity (voided functions), which is this week's topic. If you do not build this program using void functions, major points will be deducted.
You can "hard-code" this into the statement; it won't be necessary to use a defined constant for this.
Warning: Be careful with your calculations. The average current ratio (at the bottom of the table) is the average of the three current ratios, not the quotient of the average assets and average liabilities. The wrong algorithm will cost you major points.
Hint
You will need to use fgets() instead of fscanf() for the name of the company. fscanf() cannot read a string with embedded spaces.
You will submit only the source code file (.c) and the unaltered (ahem!) output file (.txt) from your run of the program. Place your name in the comments of the source code file and make sure your program prints your name in the last line of the report in the output file. Do not zip the files. And please, use .c for the source code and .txt for the output file. No Word documents or other such formats.
Be sure to include appropriate comments and indentation in your source code.