Advertisement
neogz

YT | 3| LR | Konstruktori i destruktori

Jan 2nd, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.02 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Ucesnik{
  5.  
  6.     int _id;
  7.     char * _imePrezime;
  8.     char * _datumPrijave;
  9. public:
  10.     //konstruktor i destruktor funkcije
  11.     Ucesnik(int id = 0,char * imePrezime = "------", char * datumPrijave = "--/--/--"){
  12.         _id = id;
  13.        
  14.         int vel = strlen(imePrezime)+1;
  15.         _imePrezime = new char[vel];
  16.         strcpy_s(_imePrezime, vel, imePrezime);
  17.  
  18.         vel = strlen(datumPrijave) + 1;
  19.         _datumPrijave = new char[vel];
  20.         strcpy_s(_datumPrijave, vel, datumPrijave);
  21.  
  22.     }
  23.     ~Ucesnik(){
  24.         delete[]_imePrezime;
  25.         delete[] _datumPrijave;
  26.         _imePrezime = _datumPrijave = nullptr;
  27.     }
  28.    
  29.     //ostale funkcije dodavati po potrebi zadatka
  30.     void ispis(){
  31.         cout << _id << " | " << _imePrezime << " | " << _datumPrijave << endl;
  32.     }
  33.     int getID(){
  34.         return _id;
  35.     }
  36. };
  37. class Seminar {
  38.     char * _periodOdrzavanja;
  39.     char _mjestoOdrzavanja[50];
  40.     int _kotizacija;
  41.     int _brojPrijavljenih;
  42.     Ucesnik _prijavljenih[100];
  43. public:
  44.     Seminar(char * period = "----", char * mjesto = "----", int kot = 0){
  45.  
  46.         int vel = strlen(period) + 1;
  47.         _periodOdrzavanja = new char[vel];
  48.         strcpy_s(_periodOdrzavanja, vel, period);
  49.        
  50.         vel = strlen(mjesto) + 1;
  51.         strcpy_s(_mjestoOdrzavanja, vel, mjesto);
  52.  
  53.         _kotizacija = kot;
  54.         _brojPrijavljenih = 0;
  55.  
  56.     }
  57.     void ispis(){
  58.         cout << "\nSEMINAR" << endl << "Period odrzavanja: "<<_periodOdrzavanja << "\nMjesto odrzavanja: " << _mjestoOdrzavanja << endl;
  59.         cout << "Kotizacija: " << _kotizacija << "\nBroj prijavljenih: " << _brojPrijavljenih << endl;
  60.     }
  61.     void prijaviUcesnika(Ucesnik u){
  62.         if (_brojPrijavljenih == 100) return;
  63.  
  64.         for (int i = 0; i < _brojPrijavljenih; i++)
  65.             if (u.getID() == _prijavljenih[i].getID()) return;
  66.        
  67.         _prijavljenih[_brojPrijavljenih++] = u;
  68.     }
  69. };
  70.  
  71. int main(){
  72.  
  73.     Ucesnik u1;
  74.     u1.ispis();
  75.  
  76.     Ucesnik u2(1,"Nedim Fejzic", "10/04/1995");
  77.     u2.ispis();
  78.  
  79.     Ucesnik u3(2, "Muharem Hoso", "17/01/1995");
  80.     u3.ispis();
  81.    
  82.     Seminar s("10.04.2015", "Gorazde", 15);
  83.     s.ispis();
  84.     s.prijaviUcesnika(u3);
  85.     s.ispis();
  86.  
  87.     system("pause > null");
  88.     return 0;
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement