Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Маринчик
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 143
#1

Доработка программы. Графический режим - C++

07.06.2014, 16:56. Просмотров 135. Ответов 0
Метки нет (Все метки)

Мое задание звучит так: Окружность и квадрат, изменяют цвета и размеры, появляются в различных местах экрана.- используя абстрактные классы и виртуальные функции
Программа получилась рабочая.
Окружность и квадрат у меня изменяют цвета и размеры, появляются на экране.Но.. Остались мелкие доработки.
Не пойму работает ли функция
C++
1
while (!kbhit())
????
И почему не выводится в консольном окне информация о деструкторе.??
И подскажите пожалуйста, как правильно сделать заливку внутри фигур или по контуру, чтоб они были видны более отчетливо на экране?И можно ли сделать так чтоб окружность и квадрат появлялись одновременно но в разных частях экрана? - если да то как?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include<graphics.h>
#include<math.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
 
#include<iostream>
using namespace std;/*ob'javlenie prostranstva imen  std.*/
 
class abc //Opisanie abstraktnogo klassa 
{protected:
           int x0,y0,raz,color;// parametri figyr
 public:
        abc()//konstryktor
          { cout <<"Konstryktor/ Sozdaetsja abstraktnij klass"<<endl;}
        virtual void SetParam(int,int,int)=0;/*4istaja virtyal'naja fynkcija inicializacii zadavaemoj figyri*/
        virtual void Draw(int)=0;/*4istaja virtyal'naja fynkcija bydyshego risovanija*/ 
        virtual ~abc()//esli v klasse prisytstvyet hot' odna virtyalnaya fynktsija,destryktor tak*e sleduyet sdelat' virtyalnim.
          {cout <<"\nRabotaet destryktor abstraktnogo klassa"<<endl;}
};
//=================================================
class Quadrat: public abc /*proizvodnij klass dlja kvadrata*/
{protected:
           int x0,y0,raz,i,color;
 public:
        Quadrat():abc ()
          { cout<<"\nKonstryktor/Risyetsa kvadrat" << endl;}
        void SetParam(int,int,int);/*inicializacija fiyri kvadrata*/
        void Draw(int);/*otrisovka kvadrata*/
        ~ Quadrat()
            { cout<<"\nDestryktor kvadrata"<< endl;} 
};
//=================================================
class Okr: public abc/*proizvodnij klass dlja okry*nosti */
{protected:int i;
 public:
        Okr(): abc ()
           { cout<<"\nKonstryktor/Risyem okry*nost'" << endl;}
        void SetParam(int,int,int);
        void Draw(int);
        ~ Okr()
           { cout<<"\nDestructor okry*nosti";}
};
//=================================================
void Quadrat::SetParam (int x0,int y0,int raz)/*inicializacija kvadrata*/
{this ->x0=x0;
 this ->y0=y0;
 this ->raz=raz;
}
//=================================================
void Okr::SetParam (int x0,int y0,int raz)/*inicializacija okry*nosti*/
{this ->x0=x0;
 this ->y0=y0;
 this ->raz=raz;
}
//=================================================
void Okr::Draw (int color)/*otrisovka okry*nosti*/
{setcolor(color);
 circle(x0,y0,raz);
}
//=================================================
void Quadrat::Draw (int color)/*otrisovka kvadrata*/
{setcolor(color);
 rectangle(x0-raz,y0-raz,x0+raz,y0+raz);
}
//=================================================
int main()
{ int color,x,y,x1,y1,r;
  Quadrat kvad[1]; /*zadaetsa 1 kvadrat, opisanie massiva kvadrata/ mo*no ykazat' i bol'wee koli4estvo, no togda dalee izmenitsja koli4stv elementov massiva f[]*/
  Okr kryg[1];/*zadaetsa 1 okry*nost', opisanie massiva okry*nosti/ mo*no ykazat' i bol'wee koli4estvo, no togda dalee izmenitsja koli4stv elementov massiva f[] */ 
  abc *f[2];/*ykazateli na ob'ekt, opisanie massiva */
 
    int grdriver,gmode;
    detectgraph(&grdriver,&gmode);/*opredelenie grafi4eskogo re*ima i draivera*/
    initgraph(&grdriver,&gmode," ");/*ystanovka videore*ima*/
    
    f[0]=&kvad[0];
    f[1]=&kryg[0];
    while (!kbhit())/*poka ne na*ata klaviwa vipolnjaetsa cikl*/
      {x1=320;
       y1=240;
       for (int z=0; z<2; z++)
         {color=rand() % 201 - 100;
          x=x1+rand() % 201 - 100;
          y=y1+rand() % 201 - 100;
          r=rand() % 201 - 100;
            {f[z]->SetParam(x,y,r);/*vivod figyr po ystanovlennim parametram*/
             f[z]-> Draw(rand() % 101 - 50);
            }
         }
      delay(600);/*skorost' pojavlenija-izmenenija figyr na konsol'nom ekrane*/
      cleardevice();/*o4ishaet aktivnyjy stranicy*/
      }
    closegraph();/*vihod iz grafi4eskogo re*ima*/
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2014, 16:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Доработка программы. Графический режим (C++):

графический режим - C++
Дали задание, нарисовать трапецию в С++. Как это реализовать в Visual Studio 2010, учитывая, что &lt;graphic.h&gt; там нет( Спасибо

графический режим - C++
Подскажите пожалуйста, как программируя в dev cpp получить цвет заднего фона в графическом режиме? Какой функцией?

Графический режим - C++
Помогите пожалуйста хочу научится программировать в графическом режиме я использую Microsoft Visual Studio 2008 напишите пожалуйста...

Графический режим С++ - C++
помогите построить четирехугольную пирамиду в графическом режиме

Графический режим с++ - C++
Хочу сделать программу с графическим интерфейсом. Как он должен выглядить изображенно на рисунке. Дело в том, что я работал только с...

Графический режим - C++
Помогите пожалуйста с графикой! У меня изображение не отображается, выходит только черный экран. Если можно выложите пожалуйста пару...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2014, 16:56
Привет! Вот еще темы с ответами:

Не работает графический режим - C++
Всем привет) сделал программу на Турбо С++ с использованием графического режима. Запускается exe-шка только в папке где содержится Турбо...

В С++ не работает графический режим - C++
Кто может лии желает помочь, ответьте, почему у меня в С++ не работает графический режим. Пишет, что не определён графический драйвер. Хотя...

Работа с клавиатурой. Графический режим. - C++
Построить прямоугольник фиксированных размеров. Нажатие на клавишу Enter циклически изменяет цвет прямоугольника, F10 — завершает работу...

Графический режим: отрезок в движении - C++
рисовать прямая в движении черта программа на языке С++


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

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

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