Graphic shape

CLICK HERE TO DOWNLOAD THIS ANSWER INSTANTLY

The purpose of this project is to provide you with practice using conditional statements, loops, and functions. Your
task is to write a program that allows a user to display a simple graphic shape using text symbols. Five basic shapes
are allowed: V-shape, Hat-shape, X-shape, Right-Arrow-shape, and the Left-Arrow-shape. The shapes are defined
as follows:
Type Parameters Limitations Sample Input Sample
Output
V-shape Number of rows
(n)
0 < n < 30 V 4 * *
* *
* *
*
Hat-shape Number of rows
(n)
0 < n < 30 H 4 *
* *
* *
* *
X-shape Number of rows
(n)
0 < n < 30
and
n is odd
X 5 * *
* *
*
* *
* *
Rightarrowshape
Number of rows
(n)
0 < n < 30
and
n is odd
R 5 *
**
***
**
*
Left-arrowshape
Number of rows
(n)
0 < n < 30
and
n is odd
L 5 *
**
***
**
*
Your project should provide an interactive menu system that allows a user to select the type of object to display.
The following menu items must be provided: V, H, X, R, L, and Q. The meanings of these items are:
V – V shape
H – Hat shape
X – X shape
R – Right arrow shape
L – left arrow shape
Q — quit.
The letter indicates which shape to display and will always be followed by a space and an integer value
representing size of the shape. Valid input can be uppercase as well as lowercase characters. All other letters
entered as command inputs are considered invalid. Provide a mechanism to allow a user to recover from an error.
For example, if the user enters a Z, do not terminate the program. Inform the user that an error has occurred,
display an error message, and discard the erroneous information i.e. if an incorrect command is detected, make
sure to flush the input buffer using cin.ignore(80,’\n’).
A valid shape command code will always be followed by an integer valued size. The value provided may not be
acceptable based on the limitations outlined in the table. If you detect an invalid size, display a meaningful error
message, reject the command, and allow the user to enter a new command.
Program Design:
To solve this program, you need to decompose the problem into manageable pieces. Fortunately, the program
naturally breaks into functional units based on the different shapes. Design your solution so that your main
program calls functions to complete the various tasks. For example there should be functions to display each
shape, and there should one or more functions to get a valid command code.