Assignment title: Information
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.