Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 25.05.2009
Сообщений: 12
1

наследование. виртуальные ф-ции, но трабл в графике, в движении фигуры

16.06.2009, 11:34. Просмотров 561. Ответов 1
Метки нет (Все метки)

Итакс, здравствуйте))

Это случилось! Это - наследование и виртуальные функции!!! В графическом режиме, help me...

Необходим компактный набор треугольников одного цвета и квадратов другого цвета, которые произвольно двигаются, изменяя размеры только квадратов и общие цвета.

компактный набор треугольников и квадратов -- это как? всмысле они близко др. к др. находятся?? но как тогда это задать в SetCoord?? и как сделать, чтоб размер меняли только квадраты??

вот то, что натворила я, но это надо переделать:
Код
[CPP]#include<conio.h>
#include<iostream.h>
#include<dos.h>
#include<graphics.h>
#include<stdio.h>
#include<stdlib.h>

  class FiGura
{
protected:
  int x,y,w,h,color;
public:
  FiGura();
 ~FiGura();
  void SetCoord(int x,int y){this->x=x; this->y=y;};
  void SetRazmer(int x,int y){this->w=x; this->h=y;};
  void SetCvet(int color){this->color=color;};
  virtual void ViVod()=0;
};

  FiGura::FiGura()
{
  cout<<"figyra sozdana"<<endl;
}

  FiGura::~FiGura()
{
  closegraph();
  cout<<"figyra udalena"<<endl;
}

  void inic()
{
  int grdriver,gmode,errorcode;
  detectgraph(&grdriver,&gmode);
  initgraph(&grdriver,&gmode,"D:\\BC\\BGI ");
  errorcode=graphresult();
  if (errorcode!=grOk)
    {cout<<"osibka"<<endl;
    exit(1);}
};

  class KvaDrat:public FiGura
{
public:
  virtual void ViVod() 
{setcolor(color);
  rectangle(x,y,x+w,y+w);}
};

  class TreuGol:public FiGura
{
public:
  virtual void ViVod() 
{setcolor(color);
  line(x,y+w,(x+w/2),y);
  line((x+w/2),y,x+w,y+w);
  line(x+w,y+w,x,y+w);}
};

void main()
{int i,j,k;
FiGura*f[10];
TreuGol tr[5];  KvaDrat kv[5];
inic();

for (i=0;i<5;i++){
tr[i].SetCoord(random(300),random(300));
tr[i].SetRazmer(random(100),random(100));
tr[i].SetCvet(random(15)+1);
tr[i].ViVod();
f[i]=&tr[i];
}
for (i=0;i<5;i++){
kv[i].SetCoord(random(300),random(300));
kv[i].SetRazmer(random(100),random(100));
kv[i].SetCvet(random(15)+1);
kv[i].ViVod();
f[i+5]=&kv[i];
}
while(!kbhit())
{
for (i=0;i<3;i++){
 for (j=0;j<10;j++){
   f[j]->SetCvet(random(15)+1);
   f[j]->ViVod();
  }
sleep(1);
 }
 for (k=0;k<10;k++){
 f[k]->SetCvet(BLACK);
 f[k]->ViVod();
 f[k]->SetCoord(random(500),random(500));
 }
 }
getch();
}[/CPP]
Добавлено через 10 часов 20 минут 15 секунд
хоть какая-нибудь подсказка спасет жизнь этому чуду!..
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2009, 11:34
Ответы с готовыми решениями:

Как построить прямую g(y) на графике, где уже есть 4 ф-ции f(x)?
Собственно, есть график 4х функций вида h(f) (f=0,0.1..1600): Мне нужно построить на оси X...

Вычислите S фигуры, ограниченной графиком ф-ции
Вычислите S фигуры, ограниченной графиком ф-ции y= (1/2)*x² + 2 а) касательной к этому графику в...

Найдите S фигуры, ограниченной графиком ф-ции
Найдите S фигуры, ограниченной графиком ф-ции: y = 1-x², y=0, x=-1 Спасибо!

Поворот фигуры в движении
фигура двигается по траектории, заданой массивом точек, но криво поворачивается. Нужно, чтобы...

1
инженер-системотехник
111 / 111 / 5
Регистрация: 10.03.2009
Сообщений: 533
16.06.2009, 14:44 2
Чтобы квадраты меняли размер, то добавляешь в класс KvaDrat метод Size() и все дела...

Насчет компактности, думаю, что имеется ввиду фигуры малого размера, а не на весь экран ))) а не то, чтобы они были рядом с друг другом... Хотя фиг знает ))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.06.2009, 14:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

наследование и виртуальные ф-ии
НЕ у кого нет такой программы? хотя бы похожей Написать программу, в которой создается иерархия...

Наследование и виртуальные ф-ии задание
Уважаемые форумчане! Нашел данную тему, только в разделе C#. Если есть такая на С++ прошу дайте...

Наследование и виртуальные функции
⦁ Определить иерархию классов (в соответствии с вариантом). ⦁ Определить в классе...

Наследование и виртуальные функции
Доброго времени суток, нужна ваша помощь в создании программы &quot;Написать программу, в которой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.