Advertisement
196040

OOP aud 5 Ekipa level 2

May 1st, 2020
846
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.51 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstring>
  3. using namespace std;
  4. class Ekipa {
  5.     private://Да се дефинира класа Ekipa што содржи информации
  6.     char ime[30]; //за име на екипата,
  7.     char stadion[30]; // назив на стадионот на кој игра
  8.     char grad[30]; //и градот од каде потекнува.
  9.     public:
  10.     Ekipa(){}
  11.     Ekipa(char *ime, char *stadion, char *grad) {
  12.     strcpy(this->ime, ime);
  13.         strcpy(this->stadion, stadion);
  14.         strcpy(this->grad, grad);
  15.     }
  16.     Ekipa (const Ekipa &e) {
  17.     strcpy(this->ime, e. ime);
  18.         strcpy(this->stadion, e. stadion);
  19.         strcpy(this->grad, e. grad);
  20.     }
  21.     void pecati() {
  22.     cout<<"Ime na ekipa: "<<ime<<" "<<"Igra na stadion: "<<stadion<<" "<<"Od gradot : "<<grad<<endl;
  23.     }
  24.     ~Ekipa(){}
  25.     char * getime() {
  26.     return ime;
  27.     }
  28. };
  29. class Natprevar { //Да се дефинира класа Natprevar
  30.     private:
  31.     Ekipa * d; // ??? voa li // што содржи информации за домаќин, гостин
  32.     Ekipa * g; // (покажувачи кон објекти од класата Ekipa),
  33.     int golovidomakjin;// голови кои ги постигнал домаќинот
  34.     int golovigostin;// и голови кои ги постигнал гостинот.
  35.     public:
  36.     //Natprevar() {}
  37.     Natprevar(const Ekipa &dom, const Ekipa &gos, int golovidomakjin, int golovigostin) {
  38. this->d = new Ekipa (dom);
  39.     this->g = new Ekipa (gos);
  40.     this->golovidomakjin=golovidomakjin;
  41.     this->golovigostin=golovigostin;
  42.     }
  43.     Natprevar(const Natprevar &n) {
  44.    this->d = new Ekipa (*n.d);
  45.         this->g = new Ekipa (*n.g);
  46.     this->golovidomakjin=n.golovidomakjin;
  47.     this->golovigostin=n.golovigostin;
  48.     }
  49.     Ekipa *getdomakjin() {
  50.     return d;
  51.     }
  52.     Ekipa *getgostin() {
  53.     return g;
  54.     }
  55.     friend bool isTip(Natprevar n, char  tip);
  56.     ~Natprevar() {
  57.     delete d;
  58.     delete g;
  59.        
  60.     }
  61. };
  62. bool isTip (Natprevar n, char tip) { //Да се дефинира глобална функција isTip која како аргумент
  63.     //добива еден објект од класата Natprevar и тип за натпреварот (еден знак: 1,2 или X)
  64.     //и враќа дали дадениот тип е точен за натпреварот.
  65.     if (tip == '1'&&n.golovidomakjin > n.golovigostin) return true;
  66.     if (tip == '2' && n.golovigostin > n.golovidomakjin ) return true;
  67.     if (tip == 'X' && n.golovidomakjin == n.golovigostin ) return true;
  68.     else return false;
  69. }
  70. int main() { //Во главната програма да се креираат два покажувачи кон објект од класата Ekipa.
  71. Ekipa e1("Juve", "Stadionot", "Juventus");
  72. Ekipa e2 ("Vardar", "Cvaj", "Negotino");
  73.     e1.pecati();
  74.     e2.pecati(); // Потоа отпечати ги информациите за креираните објекти.
  75.     Natprevar n1 (e1, e2, 3, 2); //Во главната програма да се креира објект од класата Natprevar и да се
  76.      cout<<"Igraat: "<<n1.getdomakjin()->getime()<<" VERSUS "<<n1.getgostin()->getime()<<endl;
  77.          if(isTip(n1, '1') == false)
  78.          cout<<"Ne e tocen tipot za natprevarot";
  79.     else cout<<"Tocen e tipot za natprevarot";
  80.      //провери дали типот 1 е точен тип за креираниот натпревар.
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement