Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2011, 01:03   #1
revaldo666
Форумчанин
 
Регистрация: 24.06.2010
Сообщений: 251
По умолчанию Класс квадрат

Всем добрый вечер.
В общем у меня имеется 2 класса.
Класс точки который рисует точку в консоли по переданным в метод координатам, и класс квадрат который должен используя класс точки нарисовать в консоли 2 точки ( также по переданным координатам) ну и соединить их к примеру линиями, чтоб получился квадрат.
Вывести 2 точки труда не составило, а вот с соединением прошу помощи.
Код функции для рисования квадрата

Код:
void CSquare::Draw(int x1,int y1,int x2,int y2)
{       
        CPlane dot[2]; //создаём массив объектов класса точка
        dot[0].setAll(x1,y1); //координаты первой точки
        dot[0].show(); //вывод первой точки
        dot[1].setAll(x2,y2); //координаты 2-й точки
        dot[1].show(); //вывод второй точки
}
Если кто-то не понял смысл задания, спрашивайте расскажу подробнее.
Заранее благодарен
revaldo666 вне форума Ответить с цитированием
Старый 01.12.2011, 02:53   #2
revaldo666
Форумчанин
 
Регистрация: 24.06.2010
Сообщений: 251
По умолчанию

Вроде бы как сделал...но не так как хотелось бы...
вот что у меня получилось
Код:
void CSquare::Draw(int left, int top, int right, int bottom)
{	
    int j;
   char temp[80];
   int width = right - left + 1;

   for(j=0; j<width; j++)   
	  
	   temp[j] = '.';   
       temp[j] = 0;                    

   for(int y=top; y<=bottom; y++)  
      {
      set_cursor_pos(left, y);
	  cout<<temp;
      }
	
}
А хотелось чтоб был использован родительский класс точка для рисовки...но никак не выходит...
вот методы класса точка
Код:
class CPlane
{
protected:
	int x;
	int y;
	char dot;
	int color;
public:
	CPlane(void);
	void set_cursor_pos(int x, int y);
	void show();
	void setcolor(int col);
	void setX(int x);
	void setY(int y);
	void setAll(int x,int y);
	void setDot(char d);
	int getX();
	int getY();
	char getDot();
	~CPlane(void);
};
revaldo666 вне форума Ответить с цитированием
Старый 01.12.2011, 12:52   #3
revaldo666
Форумчанин
 
Регистрация: 24.06.2010
Сообщений: 251
По умолчанию

Народ остался последний штрих)
Уже мозги кипят,
Каркас получился, но вывод его на экран происходит только в углу консоли а не по заданным координатам.
вот собственно код
Код:
 
void CSquare::Draw(int color,bool fill)
{       
        
        int j;
   char temp[80];
   if (left>=right)
          left=right/2;
   if(top>=bottom)
           top=bottom/2;
   int width = right - left +1;
   if(fill==true) //заполненный внутри квадрат
   {
   for(j=0; j<width; j++)   
   {
           temp[j] = '\xDB';
   }
           temp[j]=0;
           for(int y=top; y<=bottom; y++)  
      {
                  set_cursor_pos(left, y);
                  CPlane::ChangeColor(temp,color);
      }
   }
           if(fill==false) //незаполненный квадрат (каркас) тут и находится трабла с выводом
           {
              for (int i = 0; i < width; ++i)
                   {
                      for (int j = 0; j < width; ++j)
                        if(i == 0 || i == width - 1 || j == 0 || j == width - 1)
                        cout<<'*';
                         cout<<' ';
                puts("");
                                
                     }
           }
}

Последний раз редактировалось revaldo666; 01.12.2011 в 14:06.
revaldo666 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Описать класс-родитель и класс-потомок. Delphi 7 Andrew_M Помощь студентам 0 15.01.2011 14:42
Магический квадрат (через производный класс) KEIego Общие вопросы C/C++ 2 23.10.2010 19:29
ХИ квадрат Vito89 Помощь студентам 3 25.10.2009 16:35
Магический квадрат Гаджи Помощь студентам 5 24.10.2009 09:46
Черный квадрат Дініс Свободное общение 9 07.09.2009 21:43