#include <iostream>
using namespace std;

enum { CIRCLE, RECTANGLE, TRIANGLE };


class Circle
{
	public:
		void draw() { cout << "Circle\n"; }
};


class Rectangle
{
	public:
		void draw() { cout << "Rectangle\n"; }
};


class Triangle
{
	public:
		void draw() { cout << "Triangle\n"; }
};


int main()
{
	cout << "c\tCircle\n";
	cout << "r\tRectangle\n";
	cout << "t\tTriangle\n";

	cout << "\nWhat would you like to draw?: ";

	char	my_shape;

	cin >> my_shape;
	cin.ignore();

	Circle*		c;
	Rectangle*	r;
	Triangle*	t;
	int		shape;

	switch (my_shape)
	{
		case 'C' :
		case 'c' :
			c = new Circle;
			shape = CIRCLE;
			break;
		case 'R' :
		case 'r' :
			r = new Rectangle;
			shape = RECTANGLE;
			break;
		case 'T' :
		case 't' :
			t = new Triangle;
			shape = TRIANGLE;
			break;
		default:
			cerr << "Unknown shape\n";
			break;
	}

	switch (shape)
	{
		case CIRCLE :
			c->draw();
			break;
		case RECTANGLE :
			r->draw();
			break;
		case TRIANGLE :
			t->draw();
			break;
	}

	return 0;
}

