Problem H
Cabinets
Well-Built Cabinet Distributors, Inc. recently
received an electronic catalog of cabinets from their leading manufacturer,
Woodcraft. Unfortunately, the format of the data is not consistent with that
expected by Well-Built's inventory software. For this problem, you will
construct a program that reformats the Woodcraft catalog for use by the
inventory software.
Input:
There are multiple test cases, separated by blank line.
Each test case will be formatted as from a comma-delimited ASCII file.
Your program must read all input from the standard input file. Each line in the
input has a maximum length of 66 characters and contains the following fields: Field Length Explanation
----------------------------------------------------------------------------
Style Code 1-3 Code specifying the cabinet's style.
Style Name 0-15 Name for cabinet style.
Description 1-15 Code describing type of cabinet.
Extension 0-25 Additional information about cabinet.
Unit Price 0-6 Manufacturer's suggested retail price (dollars x 100).
The
records are presented in ascending order by Style Code. You may assume that all
fields will be consistent with the lengths given, and that all fields will
contain appropriate characters.
Output:
Output will consist of a reformatted catalog. The reformatted
catalog file will be a comma-delimited ASCII file. The first record in the file
must be the following: Item Id,Item Desc,Item Price
Each remaining record in the file will
have a maximum length of 50 characters and contain the following fields: Field Length Explanation
----------------------------------------------------------------------------
Item Id 4-13 Unique identification code for inventory database.
Item Desc 1-30 Inventory description of cabinet.
Item Price 4-7 Manufacturer's suggested retail price.
The Item Id
is formed by concatenating the Style Code and the Description. If the Style Code
is less than three characters long, it must be left-filled with zeros to three
characters. If the Item Id exceeds 13 characters, then the record is rejected.
The Item Desc is formed by concatenating the Style Name, a hyphen, and
the Extension. If the Style Name is missing, use the Style Name from the first
record of the corresponding Style Code group. If this first record has no Style
Name either, then reject the record. If the Extension is not present, then Item
Desc is the same as Style Name (no hyphen). If Item Desc exceeds 30 characters,
then it must be truncated on the right.
The Item Price is formed by
formatting the Unit Price as dollars and cents. If Unit Price is not present,
then Item Price = 0.00.
Sample Input:
23,CHAMPAGNE,BASE36,3" RECESSED TOE KICK,8900
23,,BASE54,,11000
25,LAUREL,CNR24LT,,15000
107,COLONIAL,BASE54WSIDEJAM
202,SAGEBRUSH,OVRHD54P,USE WITH HDWARE KIT #3207
221,ALVEA MODERN,BASE