Can someone take a look at my program for some reason I am unable to get the height to loop and a fresh set of eyes could never hurt:

This is what the output should be:

Programmed by <your name>

Type a negative for the height to exit!
Enter the height: 7
Enter the width: 5
Enter the character to fill the rectangle with: +
- - - - -
:+++:
:+++: (By the way i am trying to make this figure even out in spacing)
:+++:
:+++:
:+++:
_ _ _ _ _

Enter the height at the first prompt and the width at the second!
Type a -1 for the first prompt to exit!
Enter the height: 1
Invalid: Height cannot be less than 3.
Type a negative height to exit! Try again!!!
Enter the height: 0
Invalid: Height cannot be less than 3.
Type a negative height to exit! Try again!!!
Enter the height: 5
Enter the width: 1
Invalid: Width cannot be less than 3.
Try Again!!!
Enter the width: -4
Invalid: Width cannot be less than 3.
Try Again!!!
Enter the width: 2
Invalid: Width cannot be less than 3.
Try Again!!!
Enter the width: 10
Enter the character to fill the rectangle with: @

_ _ _ _ _ _ _ _ _ _
@@@@@@@:
@@@@@@@:
@@@@@@@:
_ _ _ _ _ _ _ _ _ _

Enter the height at the first prompt and the width at the second!
Type a -1 for the first prompt to exit!
Enter the height: 1
Invalid: Height cannot be less than 3.
Type a negative height to exit! Try again!!!
Enter the height: -4


This is what I have:

Code:
#include <iostream>
using namespace std;
char Get_Character();
int Get_Number(string prompt);
void Draw_Rectangle(int height, int width, char symbol);
void Draw_Top_Bottom(int width);
void Draw_Middle(int height, int width, char symbol);

int main()
{
	int height, width;
	char symbol;
	
	cout << "Programmed by Jim Johnson";
	cout << endl << endl;
	
	cout << "Type a negative for the height to exit!";
	cout << endl;
	
	do
	{
	cout << "Enter the height: ";
	height = Get_Number("height");

	if (height > 3)
	{
		  do
		  {
	cout << "Enter the width: ";
	width = Get_Number("width");

	if ( width <= 3 )
			 {
              cout << "Invalid!! Width can not be less than 3." << endl << "Try Again!!!" << endl;
             } 
          } while (width <= 3 );
       }
         else if ((height < 3) && (height < 3))
          {
                cout << "Invalid!! Height can not be less than 3." << endl << "Type a negative height to exit! Try Again!!!";
          } 
          else
          {
          exit (1);
		  }
	         
	cout << "Enter the character to fill the rectangle with: ";
	symbol = Get_Character();
	
	Draw_Rectangle(height, width, symbol);
	Draw_Top_Bottom(width);
	cout << endl;
	Draw_Middle(height, width, symbol);
	Draw_Top_Bottom(width);

	cout << endl << "Enter the height at the first prompt and the width at the second!" << endl << "Type a negative for the first prompt to exit!";
	cout << endl;
	
	} while (height >= 3);

	return 0;
}

int Get_Number(string variable)
{
	int x = 0;
	cin >> x;
	return x;
}

char Get_Character()
{
	char symbol = 0;

cin >> symbol;
		
	return symbol;
}

void Draw_Rectangle(int width, int height, char symbol)
{

}

void Draw_Top_Bottom(int width)
{
	
	for (int count = 1; count <= width; count++)
	cout << '-';
}

void Draw_Middle(int height, int width, char symbol)
{

	for(int count = 0; count < height - 2; ++count)
	
{
	cout << '|';
	for (int count = 1; count < width - 1; ++count)
	cout << symbol;
	cout << '|' << endl;
	}
}