$29
Write a C program project3.c that operates as follows. Your program should accept two command line arguments which denote height and width (both integers). The program writes to standard output.
Your program will print your Bama/Crimson userid in large block characters, such that each block has the specified height and width. (There are a few exceptions which will affect some students; see below for details.) Each block will consist only of individual copies of the given character and blank characters. Use uppercase letters rather than lowercase letters.
Here is an example output for height 9 and width 7. A larger example with height 25 and width 15 is also provided to examine. Of course, your output will be different because your userid is different.
RRRR
R RR
R R RR RRRR RRR
R R R RR
R
BBBB
B BB
B B BB BBBB
B BB
B B BB
OOO
O O
O O
O O
O O
O O
O O O OOO
RRRR
R RR
R R RR RRRR RRR
R R R RR
R
IIIIIII
I
I
I
I
I
I
I
IIIIIII
EEEEEEE
E
E
E
EEEEEEE
E
E
E
EEEEEEE
For most characters, there is not a unique correct output. Therefore grading will necessarily include a subjective component, so characters that appear to be drawn better over a wide range of heights and widths will earn more points. Some of the evaluation criteria by which your characters will be judged include correct size, recognizability, connectedness, uniformity, and symmetry. Special attention will be given to display of characters that contain diagonal lines and/or curves. In particular, these letters and digits should contain some diagonal lines rather than only horizontal and vertical lines: A K M N Q R V W X Y Z 1 4 7. And the following letters and digits should ideally contain some curves rather than be all straight lines: B C D G J OPQRSU2356890.
Exceptions: If your userid does not contain at least six distinct characters, including at least two distinct characters with diagonal lines and at least two distinct characters with curves, then choose any additional letters or digits and append them to the end of your user id so that your output will satisfy all these minimum criteria.
Please carefully read the following requirements:
You must do your own work. You must not borrow any code from any other person, book, website, or any other source. You also must not share your code with any other person, or post it on any website. We run plagiarism detection software on every project. So if you violate these rules, you may receive an invitation to the dean’s office to discuss the penalties for academic misconduct.
Make sure your program runs properly on the cs-intro.ua.edu server. Your program will be graded on that system using this command: gcc project3.c –Wall –lm –std=c99. In particular, make sure your program initializes the values of all variables when they are declared or allocated. Otherwise it might behave differently on Linux than it does on a PC or Mac.
Compress your project into a zip file that contains your C program source file. Right-click (or secondary click) on your project directory, and then (depending on your operating system) select either the Compress option or Send To → Compress from the popup menu. Finally upload your .zip file that contains your .c file for this project to Blackboard.
If you violate the above requirements such that it breaks our grading script, your project will be assessed a significant point deduction, and extreme or multiple violations may cause the project to be considered ungradable.
Every semester many students lose some points because they don’t follow all the instructions. So please read and follow all the project specifications precisely to prevent losing points unnecessarily. If anything is unclear, please ask for clarification well before the project is due. Please pay particular attention to input and output formats.
Submit your project on Blackboard by the due date (11:59pm Friday). There is a grace period of 24 hours (until 11:59pm Saturday). Projects submitted on Sunday will be assessed a late penalty of 5% per hour. No projects will be accepted after Sunday. Once it is graded, your project score will be posted on Blackboard and the results of the grading script will be sent to your Crimson email account.
Double-check and triple-check your submission when you submit it. Errors discovered later cannot be fixed and resubmitted after the project is graded. Projects will not be re-graded unless an error is found in the grading script or in the input/output files that are used during grading.