MikiStrail

ООП Лабс 3

Mar 25th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.03 KB | None | 0 0
  1. 1. Уредување на куќа
  2.  
  3.  
  4. #include <iostream>
  5. #include <cstring>
  6. using namespace std;
  7.  
  8. class Masa {
  9. private:
  10.     int dolzina;
  11.     int sirina;
  12. public:
  13.     Masa() {}
  14.     Masa(int sirina, int dolzina) {
  15.         this->sirina = sirina;
  16.         this->dolzina = dolzina;
  17.     }
  18.     void pecati() {
  19.         cout << " Masa: " << sirina << " " << dolzina << " " << endl;
  20.     }
  21. };
  22. class Soba {
  23. private:
  24.     Masa masa;
  25.     int dolzina;
  26.     int sirina;
  27. public:
  28.     Soba() {}
  29.     Soba(int sirina, int dolzina, Masa masa) {
  30.         this->sirina = sirina;
  31.         this->dolzina = dolzina;
  32.         this->masa = masa;
  33.     }
  34.     void pecati() {
  35.         cout << " Soba: " << sirina << " " << dolzina;
  36.         masa.pecati();
  37.     }
  38. };
  39.  
  40. class Kukja {
  41. private:
  42.     Soba soba;
  43.     char adresa[50];
  44. public:
  45.     Kukja() {}
  46.     Kukja(Soba soba, char *adresa) {
  47.         this->soba = soba;
  48.         strcpy(this->adresa, adresa);
  49.     }
  50.     ~Kukja() {}
  51.     void pecati() {
  52.         cout << "Adresa: " << adresa;
  53.         soba.pecati();
  54.     }
  55. };
  56. int main(){
  57.     int n;
  58.     cin >> n;
  59.     for(int i=0; i<n; i++){
  60.         int masaSirina, masaDolzina;
  61.         cin >> masaSirina;
  62.         cin >> masaDolzina;
  63.         Masa m(masaSirina, masaDolzina);
  64.         int sobaSirina, sobaDolzina;
  65.         cin >> sobaSirina;
  66.         cin >> sobaDolzina;
  67.         Soba s(sobaSirina, sobaDolzina, m);
  68.         char adresa[30];
  69.         cin >> adresa;
  70.         Kukja k(s, adresa);
  71.         k.pecati();
  72.     }
  73.     return 0;
  74. }
  75.  
  76.  
  77. 2. Договор
  78.  
  79.  
  80. #include <iostream>
  81. #include<cstring>
  82.  
  83. using namespace std;
  84.  
  85. class Potpisuvac
  86. {
  87. private:
  88.     char ime[20];
  89.     char prezime[20];
  90.     char EMBG[14];
  91. public:
  92.     Potpisuvac(){}
  93.     Potpisuvac(char *i, char *p, char *e)
  94.     {
  95.         strcpy(ime, i);
  96.         strcpy(prezime, p);
  97.         strcpy(EMBG, e);
  98.     }
  99.     Potpisuvac(Potpisuvac &p)
  100.     {
  101.         strcpy(ime, p.ime);
  102.         strcpy(prezime, p.prezime);
  103.         strcpy(EMBG, p.EMBG);
  104.     }
  105.  
  106.     char *getEMBG()
  107.     {
  108.         return EMBG;
  109.     }
  110. };
  111.  
  112. class Dogovor
  113. {
  114. private:
  115.     int broj;
  116.     char dogovor[50];
  117.     Potpisuvac p[3];
  118. public:
  119.     Dogovor(int b, char *d, Potpisuvac *po)
  120.     {
  121.         broj = b;
  122.         strcpy(dogovor, d);
  123.         p[0] = po[0];
  124.         p[1] = po[1];
  125.         p[2] = po[2];
  126.     }
  127.  
  128.     bool proverka()
  129.     {
  130.         for(int i = 0; i < 3; ++i)
  131.         {
  132.             for(int j = i+1; j < 3; ++j)
  133.             {
  134.                 if(strcmp(p[i].getEMBG(), p[j].getEMBG()) == 0){
  135.                     return true;
  136.                 }
  137.             }
  138.         }
  139.         return false;
  140.     }
  141. };
  142. int main()
  143. {
  144.     char embg[13], ime[20], prezime[20], kategorija[20];
  145.     int broj, n;
  146.     cin >> n;
  147.     for(int i = 0; i < n; i++){
  148.         cin >> embg >> ime >> prezime;
  149.         Potpisuvac p1(ime, prezime, embg);
  150.         cin >> embg >> ime >> prezime;
  151.         Potpisuvac p2(ime, prezime, embg);
  152.         cin >> embg >> ime >> prezime;
  153.         Potpisuvac p3(ime, prezime, embg);
  154.         cin >> broj >> kategorija;
  155.         Potpisuvac p[3];
  156.         p[0] = p1; p[1] = p2; p[2] = p3;
  157.         Dogovor d(broj, kategorija, p);
  158.         cout << "Dogovor " << broj << ":" << endl;
  159.         if(d.proverka() == true)
  160.             cout << "Postojat potpishuvaci so ist EMBG" << endl;
  161.         else
  162.             cout << "Ne postojat potpishuvaci so ist EMBG" << endl;
  163.     }
  164.     return 0;
  165. }
  166.  
  167.  
  168. 3. Фабрика
  169.  
  170.  
  171. #include <iostream>
  172. #include <cstring>
  173. using namespace std;
  174.  
  175. class Rabotnik {
  176. private:
  177.     char ime[30];
  178.     char prezime[30];
  179.     int plata;
  180. public:
  181.     Rabotnik() {}
  182.     Rabotnik(char *ime, char *prezime, int plata) {
  183.         strcpy(this->ime,ime);
  184.         strcpy(this->prezime,prezime);
  185.         this->plata=plata;
  186.     }
  187.     int getplata() {
  188.         return plata;
  189.     }
  190.     void pecati() {
  191.         cout<< ime <<" " << prezime<<" " <<plata<<""<< endl;
  192.     }
  193. };
  194.  
  195. class Fabrika {
  196. private:
  197.     Rabotnik rabotnik[100];
  198.     int broj_vraboteni;
  199. public:
  200.     Fabrika() {}
  201.     Fabrika(Rabotnik *rab, int broj_vraboteni) {
  202.         this->broj_vraboteni=broj_vraboteni;
  203.         for(int i=0; i<broj_vraboteni; i++)
  204.             rabotnik[i]=rab[i];
  205.     }
  206.  
  207.     void pecatiVraboteni() {
  208.         for (int i = 0; i < broj_vraboteni; i++)
  209.             rabotnik[i].pecati();
  210.     }
  211.     void pecatiSoPlata(int plata) {
  212.         for (int i = 0; i < broj_vraboteni; i++) {
  213.             if (rabotnik[i].getplata() >= plata)
  214.                 rabotnik[i].pecati();
  215.         }
  216.     }
  217. };
  218.  
  219. int main() {
  220.     int n;
  221.     int i;
  222.     int min_plata;
  223.     cin>>n;
  224.     Rabotnik rabotnik[100];
  225.     char ime[30], prezime [30];
  226.     int plata;
  227.     for(i=0; i<n; i++) {
  228.         cin>>ime>>prezime>>plata;
  229.         Rabotnik r(ime,prezime,plata);
  230.         rabotnik[i]=r;
  231.     }
  232.     cout << "Site vraboteni:" << endl;
  233.     Fabrika f(rabotnik,n);
  234.     f.pecatiVraboteni();
  235.     cin >> min_plata;
  236.     cout << "Vraboteni so plata povisoka od " << min_plata << " :" << endl;
  237.     f.pecatiSoPlata(min_plata);
  238.     return 0;
  239. }
Add Comment
Please, Sign In to add comment