Advertisement
196040

OOP aud 4 Ekipa

Apr 27th, 2020
541
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.98 KB | None | 0 0
  1. #include<iostream>
  2.    #include<cstring>
  3.         using namespace std;
  4. class Ekipa { //Да се дефинира класа Ekipa што содржи информации за име на екипата, година на
  5.     //формирањe и градот од каде потекнува.
  6.     private:
  7. char ime[30];
  8.     int godina;
  9.     char grad[30];
  10.     public:
  11.     Ekipa (char *ime = "", int godina = 0, char *grad = "") {
  12.     strcpy(this->ime, ime);
  13.         this->godina=godina;
  14.         strcpy(this->grad, grad);
  15.     }
  16.     Ekipa (const Ekipa &e) {
  17.     strcpy(this->ime, e.ime);
  18.         this->godina=e.godina;
  19.         strcpy(this->grad, e.grad);
  20.     }
  21.     ~Ekipa(){}
  22.     char *getime() {
  23.     return ime;
  24.     }
  25. };
  26. class Natprevar { //Да се дефинира класа Natprevar што содржи информации за домаќин, гостин
  27.     //(објекти од класата Ekipa), голови кои ги постигнал домаќинот и голови кои ги
  28.     //постигнал гостинот.
  29. private:
  30. Ekipa domakin;
  31. Ekipa gostin;
  32. int golovidomakin;
  33. int golovigostin;
  34.     public:
  35.     Natprevar(Ekipa domakin, Ekipa gostin, int golovidomakin, int golovigostin) {
  36.     this->domakin=domakin;
  37.         this->gostin=gostin;
  38.         this->golovidomakin=golovidomakin;
  39.         this->golovigostin=golovigostin;
  40.     }
  41.     Natprevar(const Natprevar &n) {
  42.      this->domakin=n.domakin;
  43.         this->gostin=n.gostin;
  44.         this->golovidomakin=n.golovidomakin;
  45.         this->golovigostin=n.golovigostin;
  46.     }
  47.     Ekipa getdomakin() {
  48.     return domakin;
  49.     }
  50.     Ekipa getgostin() {
  51.     return gostin;
  52.     }
  53.     int getgolovidomakin() {
  54.     return golovidomakin;
  55.     }
  56.     int getgolovigostin() {
  57.     return golovigostin;
  58.     }
  59. };
  60.     bool revans(Natprevar n1, Natprevar n2) { //Да се дефинира посебна функција revans што како аргументи
  61.         //прима два објекта од класата Natprevar и проверува дали едниот натпревар е реванш на другиот.
  62.      //Еден натпревар е реваш на друг ако гостинот и домаќинот од првиот натпревар се истите екипи со
  63.     //домаќинот и гостинот од вториот натпревар, соодветно.
  64.          if ((strcmp(n1.getdomakin().getime(), n2.getgostin().getime()) ==0) && (strcmp(n1 .getgostin().getime(), n2.getdomakin().getime()) == 0))
  65.          return true;
  66.           else return false;
  67.     }
  68.     Ekipa duel(Natprevar n1, Natprevar n2) { //Да се дефинира функцијата duel која што како аргументи
  69.        //прима два објекта од класата Natprevar
  70.         if (revans(n1, n2)==true) {
  71.     //Во спротивно да испечати порака дека натпреварите не се совпаѓаат.
  72.          //и ако едниот натпревар е ревашн на другиот функцијата треба да ја врати екипата
  73.             int temp1=n1.getgolovidomakin() + n2.getgolovigostin(); //која е подобра во меѓусебниот дуел.
  74.             int temp2=n1.getgolovigostin() + n2.getgolovidomakin();
  75.             if (temp1>temp2)
  76.               return n1.getdomakin();
  77.             else if (temp1<temp2)
  78.                 return n2.getdomakin();
  79.            else cout<<"0"; //Во случајот кога е нерешено функцијата враќа 0.
  80.         }
  81.     } //za vreme na resavanjeto na programava se slusase Clumsy od all time low i zatoa i kodot e clumsy
  82. int main() {
  83.  Ekipa e1("Real Madrid", 1880, "Madrid");
  84.     Ekipa e2("FC Barcelona", 1880, "Barcelona");
  85.     Natprevar n1(e1, e2, 1, 2);
  86.     Natprevar n2(e2, e1, 1, 0);
  87.     if(revans(n1,n2)==true) {
  88. cout<<duel(n1, n2).getime();
  89.     }
  90.     else cout<<"Ne se sovpagaat:)";
  91. return 0;
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement