|
 |
|
 |
08-13-2002, 11:12 AM
|
#1 (permalink)
|
|
Totally Inept
Join Date: Jul 2002
Location: The Great Northwest
Posts: 195
|
How to add an error statement
How do I add a statement so that when i input a number other than 1-5, the program doesn't fly into a tangent and instead gives an error message?
Also, is there anything cool that I can add to this program to make it better?
Code:
#include <iostream.h>
typedef unsigned short int USHORT;
typedef unsigned long int ULONG;
enum BOOL {FALSE, TRUE};
enum CHOICE {DrawRect = 1, GetArea,
GetPerim, ChangeDimensions, Quit};
// Rectangle Class Declaration
class Rectangle
{
public:
//constructors
Rectangle(USHORT width, USHORT Height);
~Rectangle();
//accessors
USHORT GetHeight() const { return itsHeight;}
USHORT GetWidth() const { return itsWidth; }
ULONG GetArea () const { return itsHeight * itsWidth; }
ULONG GetPerim () const { return 2*itsHeight + 2*itsWidth; }
void SetSize (USHORT newWidth, USHORT newHeight);
// Misc. Methods
void DrawShape() const;
private:
USHORT itsWidth;
USHORT itsHeight;
};
//Class method implementations
void Rectangle::SetSize(USHORT newWidth, USHORT newHeight)
{
itsWidth = newWidth;
itsHeight = newHeight;
}
Rectangle::Rectangle(USHORT width, USHORT height)
{
itsWidth = width;
itsHeight = height;
}
Rectangle::~Rectangle() {}
USHORT DoMenu();
void DoDrawRect(Rectangle);
void DoGetArea(Rectangle);
void DoGetPerim(Rectangle);
void main()
{
//initalize a rectangle to 10,20
Rectangle theRect(30,5);
USHORT choice = DrawRect;
USHORT fQuit = FALSE;
while (!fQuit)
{
choice = DoMenu();
if (choice < DrawRect || choice > Quit)
{
cout <<"\nInvalid Choice, please try again.\n\n";
continue;
}
switch (choice)
{
case DrawRect:
DoDrawRect(theRect);
break;
case GetArea:
DoGetArea(theRect);
break;
case GetPerim:
DoGetPerim(theRect);
break;
case ChangeDimensions:
USHORT newLength, newWidth;
cout <<"\nNew width:";
cin >> newWidth;
cout << "New Height: ";
cin >> newLength;
theRect.SetSize(newWidth, newLength);
DoDrawRect(theRect);
break;
case Quit:
fQuit = TRUE;
cout <<"\nExiting...\n\n";
break;
default:
cout <<"Error in choice!\n";
fQuit = TRUE;
break;
} //end switch
} //end while
} //end main
USHORT DoMenu()
{
USHORT choice;
cout <<"\n\n***Menu*** \n";
cout <<"(1) Draw Your Rectangle\n";
cout <<"(2) Area\n";
cout <<"(3) Perimeter\n";
cout <<"(4) Resize\n";
cout <<"(5) Quit\n";
cin >> choice;
return choice;
}
void DoDrawRect(Rectangle theRect)
{
USHORT height = theRect.GetHeight();
USHORT width = theRect.GetWidth();
for (USHORT i = 0; i<height; i++)
{
for (USHORT j = 0; j<width; j++)
cout <<"*";
cout<< "\n";
}
}
void DoGetArea (Rectangle theRect)
{
cout <<"Area: " <<theRect.GetArea() << endl;
}
void DoGetPerim (Rectangle theRect)
{
cout <<"Perimeter: " <<theRect.GetPerim() << endl;
}
:rock:
__________________
Office Space:
Best Movie.
Ever.
Contrary to popular belief, the true function of a programmer
is to turn coffee into source code.
|
|
|
08-13-2002, 12:26 PM
|
#3 (permalink)
|
|
Totally Inept
Join Date: Jul 2002
Location: The Great Northwest
Posts: 195
|
Man I hate Kdevelop. Borland may be in windows, but it's worth it.
__________________
Office Space:
Best Movie.
Ever.
Contrary to popular belief, the true function of a programmer
is to turn coffee into source code.
|
|
|
08-13-2002, 02:26 PM
|
#4 (permalink)
|
|
Totally Inept
Join Date: Jul 2002
Location: The Great Northwest
Posts: 195
|
Cool. So can i just throw that statement in anywhere in my program?
Pardon my ignorance 
__________________
Office Space:
Best Movie.
Ever.
Contrary to popular belief, the true function of a programmer
is to turn coffee into source code.
|
|
|
08-13-2002, 10:54 PM
|
#5 (permalink)
|
|
Newbie
Join Date: Jun 2002
Location: Denmark
Posts: 1,692
|
As your DoMenu() is made now, it looks like:
Code:
USHORT DoMenu()
{
USHORT choice;
cout <<"\n\n***Menu*** \n";
cout <<"(1) Draw Your Rectangle\n";
cout <<"(2) Area\n";
cout <<"(3) Perimeter\n";
cout <<"(4) Resize\n";
cout <<"(5) Quit\n";
cin >> choice;
return choice;
}
If you wan't to be sure, it only returns with an integer within the 1 - 5 selection, then make it:
Code:
USHORT DoMenu()
{
USHORT choice = 0;
while(choice < 1 || choice > 5)
{
cout <<"\n\n***Menu*** \n";
cout <<"(1) Draw Your Rectangle\n";
cout <<"(2) Area\n";
cout <<"(3) Perimeter\n";
cout <<"(4) Resize\n";
cout <<"(5) Quit\n";
cin >> choice;
if(choice < 1 || choice > 5)
cout << "Sorry your choice of (" << choice
<< ") is not within the required limit."<<endl
}
return choice;
}
Note the above has not been testet..
|
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -8. The time now is 09:04 PM.
|
Copyright © 2000-2008, Milano Interactive
Web Hosting provided by Portal 360 Web Hosting
|
 |
|