Advertisement
Guest User

Lab3.2Prohor

a guest
Mar 21st, 2019
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.06 KB | None | 0 0
  1. #include <iostream>
  2. #include <string.h>
  3. using namespace std;
  4.  
  5. /*Opened: 1 ден
  6. Договор Problem 2 (0 / 0)
  7. Да се дефинира класа Potpisuvac во која се чуваат информации за:
  8.  
  9. име (низа од максимум 20 знаци)
  10. презиме (низа од максимум 20 знаци)
  11. ЕМБГ (низа од максимум 14 знаци)
  12. За класата да се дефинира copy конструктор, default конструктор и конструктор со аргументи.
  13.  
  14. Да се дефинира класа Dogovor, во која се чуваат информации за:
  15.  
  16. број на договор (int),
  17. категорија на договор (низа од 50 знаци),
  18. поле од 3 потпишувачи на договорот (објекти од класата Potpisuvac)
  19. Во класата да се додаде метод кој ќе проверува дали постојат два исти потпишувачи (имаат ист ЕМБГ).*/
  20.  
  21. class Potpisuvac{
  22. private:
  23.     char ime[20];
  24.     char prezime[20];
  25.     char embg[14];
  26. public:
  27.     Potpisuvac(){
  28.     strcpy(ime,"");
  29.     strcpy(prezime,"");
  30.     strcpy(embg,"");
  31.     }
  32.     Potpisuvac(char *i,char *p,char *e){
  33.     strcpy(ime,i);
  34.     strcpy(prezime,p);
  35.     strcpy(embg,e);
  36.     }
  37.     Potpisuvac(Potpisuvac &p2){
  38.       strcpy(ime,p2.ime);
  39.       strcpy(prezime,p2.prezime);
  40.       strcpy(embg,p2.embg);
  41.     }
  42.     char *getIme(){
  43.     return ime;
  44.     }
  45.     char *getEmbg(){
  46.     return embg;
  47.     }
  48.  
  49. };
  50. class Dogovor{
  51. private:
  52.     char kategorija[50];
  53.     Potpisuvac potpisuvaci[3];
  54.     int broj;
  55. public:
  56.     Dogovor(){
  57.     strcpy(kategorija,"");
  58.     broj=0;
  59.     }
  60.     Dogovor(int broj1,char *kat1,Potpisuvac p[3]){
  61.      broj=broj1;
  62.      strcpy(kategorija,kat1);
  63.      for(int i=0;i<3;i++){
  64.         potpisuvaci[i]=p[i];
  65.      }
  66.  
  67.     }
  68.     bool proverka(){
  69.       if(strcmp(potpisuvaci[0].getEmbg(),potpisuvaci[1].getEmbg())==0){
  70.         return true;
  71.       }
  72.       if(strcmp(potpisuvaci[0].getEmbg(),potpisuvaci[2].getEmbg())==0){
  73.         return true;
  74.       }
  75.       if(strcmp(potpisuvaci[1].getEmbg(),potpisuvaci[2].getEmbg())==0){
  76.         return true;
  77.       }
  78.       return false;
  79.     }
  80.  
  81.  
  82.  
  83. };
  84.  
  85. int main()
  86. {
  87.     char embg[13], ime[20], prezime[20], kategorija[20];
  88.     int broj, n;
  89.     cin >> n;
  90.     for(int i = 0; i < n; i++){
  91.         cin >> embg >> ime >> prezime;
  92.         Potpisuvac p1(ime, prezime, embg);
  93.         cin >> embg >> ime >> prezime;
  94.         Potpisuvac p2(ime, prezime, embg);
  95.         cin >> embg >> ime >> prezime;
  96.         Potpisuvac p3(ime, prezime, embg);
  97.         cin >> broj >> kategorija;
  98.         Potpisuvac p[3];
  99.         p[0] = p1; p[1] = p2; p[2] = p3;
  100.         Dogovor d(broj, kategorija, p);
  101.         cout << "Dogovor " << broj << ":" << endl;
  102.         if(d.proverka() == true)
  103.             cout << "Postojat potpishuvaci so ist EMBG" << endl;
  104.         else
  105.             cout << "Ne postojat potpishuvaci so ist EMBG" << endl;
  106.     }
  107.     return 0;
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement