Project Information
PROBLEM:
Write a program, called lab3.cob using file I/O to output the input
information in report format. The input
file can be accessed or copied from the following location:
/usr/class/cis314/sp05/lab2carin.dat.
You will have a second input file which you will create yourself as
explained below.
Ø
You may have
multiple records for the same car because some of the data may be
different… for example, color, dealership, or cost for the same
make/model.
Ø
Before submitting
your lab, you MUST be sure to list the entire input file location given above
on your select statement. Points will be
deducted if you forget since the program will not be able to find the input
file!
Ø
You do not know
the number of records in the car input file, so you must check for end of file.
INPUT
FILE RECORD LAYOUT for lab2buyerin.dat
You
create this file however you like using the below given data and details. You should not need to check for EOF
(although you can if you want) since you know the exact format and number of
records in the file.
§
Your name –
you determine the length and type
§
The date you need
the car by – numeric length 6
§
The maximum
amount you are willing to spend on a car – integer type; you determine
the length!
INPUT
FILE RECORD LAYOUT for lab2carin.dat
It
is possible that the data in this file will change, so don’t base your
program on the exact data values.
However, the format (i.e. types and lengths) of each field will need to
stay exactly the same.
§
Dealership
– alphanumeric length 12 (ex. Tansky)
§
Make –
alphanumeric length 10 (ex.
§
Model –
alphanumeric length 10 (ex. Sienna)
§
Type –
values include truck, car, van, sport, suv –
alphabetic length 5
§
Color –
alphanumeric length 10
§
Safety Rating
– numeric length 1
§
Reliability
Rating – numeric length 1
§
Cost –
numeric (integer) length 6
§
Name of sales rep
– alphanumeric length 15
OUTPUT
FILE LAYOUT
The output file report should look similar to
the following with the name lab3out.dat (again, be sure to use this name so the
grader doesn’t have to look up the name of the output file when grading). The changes from lab2 are noted in gray.
Output File Description:
Ø
You only have ~80
(actually up to 85, I believe) positions across your printer paper. You need to be sure that your report will fit
on the paper. The above sample may need
to be changed somewhat to accommodate this.
You should create two column header lines should the data prove too
long. That is, you could put the word
“Safety” on the line above directly over the word
“Rating” for the Safety Rating column header
Ø
The output data
was put in a different order than the input data on purpose!
Ø
Be sure to
include the blank lines as shown above
Ø
The current date
should be left justified and the current time should be right justified on the
first line of the output file. The
format seen here is exactly what you should have in your output file (labels,
entire year of length 4, colons between hours and minutes, and minutes and
seconds, etc)
Ø
Create your own PAGE
HEADING line to describe the report. It needs
to be centered over the column headers
Ø
Column headers
need to be underlined INDIVIDUALLY. If
you have more than one column heading line, the underline should only be on the
part of the header that is the “bottom” of the column description. You can underline the entire length of the
column field, if you like (different from above), but you CANNOT underline the
blank spaces in between each column header field! For instance, the column header
“Dealership” is 10 characters in length, but the maximum field
length is 12. If you want to continue
the underline for “Dealership” out 2 more spaces to the maximum
length of the data under that column, that is okay.
Ø
The car data
should all line up nicely under the column headers.
Ø
The total number
of car options should be the same as the number of records in the car file.
Ø
The average
summary information fields should go out to 2 decimal places.
Ø
The data should
be edited whenever possible!
Ø
The last line in
the output file should be the “END OF REPORT” line
Discussed in class; there is
no external documentation required for this lab.
When you are finished with
the lab, submit the following files for grading:
See Lab1 for information on
how to use a submit command. Also, note
that programs must be submitted in source code form. For example, if you submit
"lab2.acu" instead of "lab2.cob", you will have, at a
minimum, points deducted equivalent to submitting a day late (20%).
See Lab1 for information
about deleting unnecessary files.