У вас вопросы?
У нас ответы:) SamZan.net

Тема-Створення віртуальних функцій

Работа добавлена на сайт samzan.net: 2015-07-05

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 20.2.2025

PAGE 4

Лабораторна робота №9

Тема:Створення віртуальних функцій.

Мета : Навчитись використовувати вiртуальнi функції у програмах.


Завдання:


Створити абстрактний клас для роботи з геометричною фігурою типу «пряма» на екрані. Передбачити такі функції–методи: показати фігуру на екрані; зробити фігуру невидною (знищити її зображення); повернути фігуру на заданий кут (кут надається у градусах); пересунути фігуру на наданий вектор. Створити похідний клас для роботи з фігурою типу «пряма». Визначити інтерфейсну частину у класах.

Код програми:

#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <graphics.h>
#include <dos.h>
#include <math.h>

class Pryamay
{
  int x1,x2,y1,y2;
  int X,Y,r1,r2,k1,k2,W1,W2,Z1,Z2,a;
  public:
virtual void Vvod ();
virtual void Delete ();
virtual void Sdvig ();
virtual void Povorot ();
};
class  Proiz : public Pryamay
{ // int x1,x2,y1,y2,X,Y,r1,r2,k1,k2,W1,W2,Z1,Z2,a;
    public:
  void Vvod ();
  void Delete ();
  void Sdvig ();
  void Povorot ();
};

  int main ()
    {
    Pryamay A;
   char reg;
   for (;;)
   {
    do
    {
     //clrscr ();
   cout<<"\n                   MENU  "<<endl;
   cout<<"          1 - Narisovat' pryamyuy"<<endl;
   cout<<"          2 - Ydalit'"<<endl;
   cout<<"          3 - Sdvinyt'"<<endl;
   cout<<"          4 - Povorot"<<endl;
   cout<<"          5 - vihod"<<endl;
   cout<<"\n Vibereti punkt menu: ";
  cin>>reg;
     }
  while(reg!='1' && reg!='2' && reg!='3' && reg!='4' && reg!='5');
  switch(reg)
  {
   case '1': A.Vvod();  break;
   case '2': A.Delete(); break;
   case '3': A.Sdvig(); break;
   case '4': A.Povorot(); break;
     case '5': exit(0); break;
}
}
getch ();
return 0;
}
void Pryamay :: Vvod()
{
int gdriver = DETECT,gmode,errorcode;
initgraph(&gdriver,&gmode," ");
errorcode = graphresult();
if(errorcode!= grOk)
{
cout<<"oshibka" <<grapherrormsg(errorcode);
cout<< "\npress ani Key";
  getch();
  exit(1);
}
cout << "Vvedite coordinati\n:";
cin >> x1;
cin >>y1;
cin >>x2;
cin >>y2;
setcolor (GREEN);
  line (x1,y1,x2,y2);
getch();
// closegraph();
}
  void Pryamay :: Delete()
  {
int gdriver = DETECT,gmode,errorcode;
initgraph(&gdriver,&gmode," ");
errorcode = graphresult();
if(errorcode!= grOk)
{
cout<<"oshibka" <<grapherrormsg(errorcode);
cout<< "\npress ani Key";
  getch();
  exit(1);
}
setfillstyle (EMPTY_FILL, BLACK);
getch();
// closegraph();
}
  void Pryamay :: Sdvig ()
   {
  int gdriver = DETECT,gmode,errorcode;
initgraph(&gdriver,&gmode," ");
errorcode = graphresult();
if(errorcode!= grOk)
{
cout<<"oshibka" <<grapherrormsg(errorcode);
cout<< "\npress ani Key";
  getch();
  exit(1);
}
cout << "Vvedite coordinati\n:";
cin >> x1;
cin >>y1;
cin >>x2;
cin >>y2;
setcolor (GREEN);
  line (x1,y1,x2,y2);
cout <<"Vvedite vector  ";
cin >>X;
cin >>Y;
r1=x1+X;
r2=x2+X;
k1=y1+Y;
k2=y2+Y;
setcolor (GREEN);
line (r1,k1,r2,k2);
getch();
// closegraph();
}
void Pryamay :: Povorot ()

//float w1,w2,z1,z2;
   int gdriver = DETECT,gmode,errorcode;
initgraph(&gdriver,&gmode," ");
errorcode = graphresult();
if(errorcode!= grOk)
{
cout<<"oshibka" <<grapherrormsg(errorcode);
cout<< "\npress ani Key";
  getch();
  exit(1);
}
cout << "Vvedite coordinati\n:";
cin >> x1;
cin >>y1;
cin >>x2;
cin >>y2;
setcolor (GREEN);
line (x1,y1,x2,y2);
cout <<"Vvedite ygol  ";
cin >> a;
/* w1=x1*cos(a)-y1*sin(a);
w2=x2*cos(a)-y2*sin(a);
z1=x1*sin(a)+y1*cos(a);
z2=x2*sin(a)+y2*cos(a); */
if (a==45)
{
Z2=(x2+x1)-y1;
clrscr ();
  line (x1,y1,x2,Z2);
}
if (a==90)
{ Z2= x2+x1;
clrscr ();
line (x1,y1,x1,Z2);
}
if (a==180)
{
   W2=x1+x2;
   clrscr ();
line (W2,y1,x1,y1);
}
getch();
// closegraph();
}




1. на тему- Флора урбанизированных экосистем Краснодар 2001
2. Институт профессиональных бухгалтеров ИПБ России www
3. 2000 года Боб Бруин Federl Computer Week США По сообщению официальных представителей Пентагона наступление 2000 го.html
4. Курсовая работа Державне фінансування політичних партій в європейських країнах
5. тема хозяйствования функционирует при обязательном условии 1 низкого уровня безработицы 2 высокого пот
6. птеродактилевых
7. шофит поваренные соли фосфориты и сильвиниты кварц песок известняки и мел глины железная руда и минерал
8. была Машенькарукодельница и была у неё волшебная иголочка
9. Реферат на тему- Искусство Италии времён фашизма Рожкова Мария 1 курс 1999
10. Без расслоения нет прогресса контроля качества Стратификация расслоение один из наиболее простых стат