April 2013
Intermediate to advanced
1276 pages
42h 16m
English
The text output format requires no initialization or cleanup calls. We need only an entry-formatting function, text_format_entry(), that takes a reference to a member entry and prints the member’s name. The tricky part of printing names is dealing with the suffix part. A suffix such as “Jr.” or “Sr.” is preceded by a comma and a space, whereas a suffix such as “II” or “III” is preceded only by a space:
Michael Alvis IV Clarence Elgar, Jr. Bill Matthews, Sr. Mark York II
‘I’, ‘V’, and ‘X’ are the only letters used in the roman numerals for the 1st to the 39th generation. It’s unlikely that we’ll need any numerals beyond that range, so we can determine whether to add a comma by checking the suffix ...