Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти среднее арифметическое всех неотрицательных элементов массива http://www.cyberforum.ru/cpp-beginners/thread1201964.html
Найти среднее арифметическое всех неотрицательных элементов массива. Помогите найти ошибку, пожалуйста, выводит только целые значения #include <stdio.h> #include <iostream> using namespace std; void main() { const int n = 10; int a;
C++ Ошибка при передаче двумерного массива в функцию std::thread Здравствуйте! Написал программу на потоки, теперь нужно передать туда двумерный массив. Пытаюсь передать по ссылке, но каждый раз выскакивает это сообщение: error C2664: "void (int **,int,int)": невозможно преобразовать аргумент 1 из "int" в "int **" Если кто-нибудь знает, как исправить, подскажите. Заранее спасибо! #include "stdafx.h" #include <functional> http://www.cyberforum.ru/cpp-beginners/thread1201945.html
C++ Написать программу, которая решает системы нелинейных неравенств с двумя переменными
Класс неравенств можно выбрать какой угодно. Сразу вопрос, какие есть вообще классы нелинейных неравенств? Количество неравенств к примеру 2 или 3. Область решений нужно вывести на экран в графическом режиме. То есть, изображена плоскость, на ней закрашенные области решений. Кроме как перебирать в цикле каждую точку плоскости, выводимой на экран, в голову ничего не пришло. Тогда, я думаю, такая...
C++ Сохранить содержимое экрана в файл. Компилятор ругается на функцию farmalloc
Помогите, пожалуйста, разобраться, что к чему. В общем так: я пытаюсь нарисовать на экране что-то в граф.режиме и потом сразу же сохранить это в файл в конкретной папке. Код отыскала на просторах интернета. Проблема в том, что компилятор ругается на функцию farmalloc. Если не сложно, помогите найти и исправить ошибку, пожалуйста void save_screen (void far *buf) { unsigned size; ...
C++ Соритровка массива и структурный тип данных http://www.cyberforum.ru/cpp-beginners/thread1201887.html
Всем доброго времени суток, кого не затруднит прошу помочь написать, а точнее дописать, программу, суть ее в следующем: Упорядочить сведения о сотрудниках старше 30 лет в порядке возрастания их рабочего стажа. Вот код, я решил сразу заполнить массив, что бы каждый раз его не вводить. #include<iostream.h> #include<conio.h> #define N 7 struct sotrudnik { char *fio; char *pol; int dob; int...
C++ Упорядочивание массива структур Всем доброго времени. Кого не затруднит, прошу помочь написать а точнее дописать программу) Суть ее заключается в следующем: Упорядочить сведения о сотрудниках старше 30 лет в порядке возрастания их рабочего стажа. Делаю вот так: подробнее

Показать сообщение отдельно
Маринчик
 Аватар для Маринчик
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 123
07.06.2014, 16:56     Доработка программы. Графический режим
Мое задание звучит так: Окружность и квадрат, изменяют цвета и размеры, появляются в различных местах экрана.- используя абстрактные классы и виртуальные функции
Программа получилась рабочая.
Окружность и квадрат у меня изменяют цвета и размеры, появляются на экране.Но.. Остались мелкие доработки.
Не пойму работает ли функция
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*/
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru