首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

矩形输出有关问题

2012-02-29 
矩形输出问题书上的一道练习题不会做了。请教大侠。我用上一道题生成一个类,用四个点的坐标(8个double值)表

矩形输出问题
书上的一道练习题不会做了。请教大侠。

我用上一道题生成一个类,用四个点的坐标(8个double值)表示一个矩形,judgement   functions判定初始的数值是不是一个矩形和是不是一个正方形。

//   lx6.13:   rectangle.h
//   create   a   class   Rectangle
#ifndef   RECTANGLE_H
#define   RECTANGLE_H

class   Rectangle
{
public:
//   constructor
Rectangle(   double   =   0.0,   double   =   0.0,   double   =   0.0,   double   =   1.0,   double   =   1.0,   double   =   1.0,   double   =   1.0,   double   =   0.0   );

//   set   functions
void   setRectangle(   double,   double,   double,   double,  
double,   double,   double,   double   );
void   setPoint1(   double,   double   );
void   setPoint2(   double,   double   );
void   setPoint3(   double,   double   );
void   setPoint4(   double,   double   );

//   get   functions
double   getPoint1x();
double   getPoint1y();
double   getPoint2x();
double   getPoint2y();
double   getPoint3x();
double   getPoint3y();
double   getPoint4x();
double   getPoint4y();

//   print   functions
void   printRectangle();

//   compute   functions
double   computeLength();
double   computeWidth();
double   computePerimeter();
double   computeArea();

//   judgement   function
bool   isRectangle();
bool   isSquare();
private:
double   x1;//   第一点x
double   y1;//   第一点y

double   x2;
double   y2;

double   x3;
double   y3;

double   x4;
double   y4;
};

#endif

后来下一道题是:
修改上一练习的Rectangle类,用draw函数在矩形所在象限的25*25闭合框中显示这个长方形。用setFillCharacter函数指定绘制长方形内部的字符。用setPerimeterCharacter函数指定绘制长方形四边的字符。还可以加上函数对长方形进行比例缩放、旋转和在第一象限范围中移动。

所以我加上了以下函数:
//   draw   frnctions
void   draw();
char   setFillCharacter();
char   setPerimeterCharacter();

我在draw函数中定义了一个char   frame[   21   ][   21   ]   =   {   '   '   }的字符二维数组,初始化为空格,然后判定在长方形内的赋值成setFillCharacter();   在边上的点赋值成setPerimeterCharacter();   然后输出数组。

我知道我的方法很笨,但是也没能成功,修改了几次,有时什么也不显示就过去了,有时在执行中报错。

请问这种题应该如何做?还有我这个只能实现与横纵坐标平行的矩形,可是我之前那个类是可以判断斜矩形的,斜矩形如何输出呢?

[解决办法]
判断坐标即可 ~

热点排行