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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

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. Конспирология и отчасти в других наших публикациях мы столкнулись с необходимостью дополнить наиболее общ
2. Кто есть генерал Власов
3. ГРАНД МИР Крым г
4. реферата Понятие личности Эрих Фромм Личность по Фромму Структура личности Темперамент
5. Пояснительная записка В начале практического занятия со студентами преподаватель во вступительном слов
6. реферат дисертації на здобуття наукового ступеня доктора педагогічних наук К
7. Единственная красота которую я знаю ~ здоровье
8. Статья Правовое регулирование трудовых отношений с иностранным элементом
9. осторожный шаг. Его принцип основан на плавном продвижении по лестнице с каждым шагом пригибаясь все ниже
10. ЛЕКЦИЯ прочитанная в Королевском Институте19 февраля 1870 г
11. ускорением сбыта; 2 степенью увеличения объема поставок товаров; 3 стоимостью экспортных кредитов и воз
12. І Томілін ЮА Огородник А
13.  МЕТА РОБОТИ Теоретичне вивчення і практичне дослідження випрямляючих діодів; визначення фізичних та осно
14. Центральные банки
15. Предмет Ист Кна ~ разве челго общва на террии Кна с древнейших времен до наших дней происходящих в общве
16. БЕРЕМЕННОСТЬ И ПОЧКИ Выбрать один правильный ответ Беременность и почки
17. Проектування офісу САПР-одяг
18. О русском языке
19. Кримінальна відповідальність за хуліганство (ст 296 КК України)
20. зонах повышенной геополитической активност