IMPORTANT
Name your .c file according
to the following scheme: proj2_userid.c
For example, my userid
is pconrad, so my file would be proj2_pconrad.c.
Point values will be awarded according to the Project Coversheet on p. 114 of your lab manual.
There will be a 10 point deduction if you do not hand in both a .c file (with the proper naming convention) and a .txt file. Name your .txt file proj2.txt.
Each letter should have its own function to draw that letter.
Where feasible, you should use functions to draw "common" parts of letters, following the example from lab12. As an example, consider the writeCurvedTop() and writeCurvedBottom() functions that were used to draw the common parts of the letters C and S. Another example might be common part of the letters B, P and R. Your program should demonstrate at least one example of this technique (of course, it will depend on your particular first and last name; ask your TA if you have questions.)
The program should present the user with a menu of options: enter F for first name, L for last name, and B for both. There should be error checking to make sure the user enters one of those options. For the A grade: If the user enters B, the program should ask another question: does the user want the first name placed on top of the last name, e.g.
PHILL CONRADor beside it, e.g.
PHILL CONRADTo skip the A grade part, just do the "beside" always, and skip the "on top" part.
The program should produce a differently named data file depending on the output desired. For example, first.dat, last.dat, firstLastOnTop.dat or firstLastBeside.dat. You should also produce a gnuplot file that can be used to generate a .png file that matches (e.g. first.gnuplot, first.png, etc.). Note that the xrange and yrange in the gnuplot file will depend on where you place the various letters.
To submit: the proj2_userid.c file, a script file showing a listing, compile, an a run of all four possible outcomes. Also, place the resulting .png files in your ~/public_html/cis105 subdirectory, and make them available for browsing.