CSci 151 Spring 2015
Assignment 5: Programmer-defined Functions
Instructions
Develop a menu-driven application to invoke functions for finding the area of
a circle, a cylinder, a rectangle, a sphere, or a triangle according to the
problem specifications and design constraints specified below. Use your
leoMail username as the source file name(e.g. gPolya.cpp). Attach that file
to an email sent to tom.brown at the domain named tamuc.edu on or before the
end of Tuesday 7 April. The email "subject" is to include our course code(151),
your leoMail name without the domain name, and the assignment number.
Input
Provide a menu of choices to enter for a circle, cylinder, rectangle, sphere,
or triangle shape. Input the radius if the choice is to compute the area of a
circle, cylinder, or sphere (also enter the height), if rectangle then input
length and width; and if triangle input the base and height.
Processing
The area of a circle is computed by PI(3.14) times radius squared (r * r);
a cylinder is (2 * PI * radius squared) + (height * 2 * PI * radius); a
rectangle is length * width; a sphere is 4 * PI * radius squared; and area
of a triangle is 0.5 * base * height.
Output
Output a descriptive program title before input prompts. Then, output a line
with: a description for the shape(e.g. Circle), formula(e.g. PI * r * r),
and the area computed.
Design and Style Constraints
1. Insert a block comment at the top of your source program with your LeoMail
name, our course code, and the assignment number. Also insert one or more
line comments.
2. Create descriptive identifier names, apply conventional notation (variables
and function names in camelCase and constants(e.g. PI) in ALL_CAPS); and
initialize identifiers according to data type and reasonable value. Indent
and align statements for readability and to show hierarchy.
3. Construct value-returning functions for processing each shape. Also, define
a void function for printing results with parameters for shape, formula
and area computed.
4. Use a multiway selection statement to test the shape code entered, then
invoke the corresponding user-defined function to accept dimension(s) and
compute area. Should the user request to compute the area of an undefined
shape, output an exception message.
5. Have an event-controlled repetition structure for continuing the entire
process of computing an area until the user enters a value signaling
termination(e.g. exit code).
Notes:
1. Online resources and our Webpage contain links to program examples that
apply to this lab. It is recommended that you analyze and test these.
2. No modifications will be made to eliminate syntax errors.
3. Though this assignment is quite similar to assignment 3, to earn credit
for assignment 5 the additional design and style constraints must be met.