Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Ucesnik{
- int _id;
- char * _imePrezime;
- char * _datumPrijave;
- public:
- //konstruktor i destruktor funkcije
- Ucesnik(int id = 0, char * imePrezime = "------", char * datumPrijave = "--/--/--"){
- _id = id;
- int vel = strlen(imePrezime) + 1;
- _imePrezime = new char[vel];
- strcpy_s(_imePrezime, vel, imePrezime);
- vel = strlen(datumPrijave) + 1;
- _datumPrijave = new char[vel];
- strcpy_s(_datumPrijave, vel, datumPrijave);
- }
- Ucesnik(Ucesnik & org){
- _id = org._id;
- int vel = strlen(org._imePrezime) + 1;
- _imePrezime = new char[vel];
- strcpy_s(_imePrezime, vel, org._imePrezime);
- vel = strlen(org._datumPrijave) + 1;
- _datumPrijave = new char[vel];
- strcpy_s(_datumPrijave, vel, org._datumPrijave);
- }
- ~Ucesnik(){
- delete[]_imePrezime;
- delete[] _datumPrijave;
- _imePrezime = _datumPrijave = nullptr;
- }
- //ostale funkcije dodavati po potrebi zadatka
- void ispis(){
- cout << _id << " | " << _imePrezime << " | " << _datumPrijave << endl;
- }
- int getID()const{
- return _id;
- }
- void set(Ucesnik & org){
- _id = org._id;
- delete[]_imePrezime;
- int vel = strlen(org._imePrezime) + 1;
- _imePrezime = new char[vel];
- strcpy_s(_imePrezime, vel, org._imePrezime);
- delete[]_datumPrijave;
- vel = strlen(org._datumPrijave) + 1;
- _datumPrijave = new char[vel];
- strcpy_s(_datumPrijave, vel, org._datumPrijave);
- }
- ////////////////////////////////// preklapanje opratora /////////////////////////////////////
- void operator = (const Ucesnik & u){
- _id = u._id;
- delete[]_imePrezime;
- int vel = strlen(u._imePrezime) + 1;
- _imePrezime = new char[vel];
- strcpy_s(_imePrezime, vel, u._imePrezime);
- delete[]_datumPrijave;
- vel = strlen(u._datumPrijave) + 1;
- _datumPrijave = new char[vel];
- strcpy_s(_datumPrijave, vel, u._datumPrijave);
- }
- bool operator == (const Ucesnik & u){
- if (_id == u._id && strcmp(_imePrezime, u._imePrezime) == 0 && strcmp(_datumPrijave, u._datumPrijave) == 0)
- return true;
- return false;
- }
- friend ostream & operator << (ostream & COUT, Ucesnik & u);
- };
- class Seminar {
- char * _periodOdrzavanja;
- char _mjestoOdrzavanja[50];
- int _kotizacija;
- int _brojPrijavljenih;
- Ucesnik _prijavljenih[100];
- public:
- Seminar(char * period = "----", char * mjesto = "----", int kot = 0){
- int vel = strlen(period) + 1;
- _periodOdrzavanja = new char[vel];
- strcpy_s(_periodOdrzavanja, vel, period);
- vel = strlen(mjesto) + 1;
- strcpy_s(_mjestoOdrzavanja, vel, mjesto);
- _kotizacija = kot;
- _brojPrijavljenih = 0;
- }
- Seminar(Seminar & org){
- int vel = strlen(org._periodOdrzavanja) + 1;
- _periodOdrzavanja = new char[vel];
- strcpy_s(_periodOdrzavanja, vel, org._periodOdrzavanja);
- vel = strlen(org._mjestoOdrzavanja) + 1;
- strcpy_s(_mjestoOdrzavanja, vel, org._mjestoOdrzavanja);
- _kotizacija = org._kotizacija;
- _brojPrijavljenih = org._brojPrijavljenih;
- for (int i = 0; i < _brojPrijavljenih; i++){
- _prijavljenih[i] = org._prijavljenih[i];
- }
- }
- void ispis(){
- cout << "\nSEMINAR" << endl << "Period odrzavanja: " << _periodOdrzavanja << "\nMjesto odrzavanja: " << _mjestoOdrzavanja << endl;
- cout << "Kotizacija: " << _kotizacija << endl;
- cout << "--------- Prijavljeni ucesnici --------- " << endl;
- for (int i = 0; i < _brojPrijavljenih; i++) {
- _prijavljenih[i].ispis();
- }
- }
- void prijaviUcesnika(Ucesnik & u){
- if (_brojPrijavljenih == 100) return;
- for (int i = 0; i < _brojPrijavljenih; i++)
- if (u.getID() == _prijavljenih[i].getID()) return;
- _prijavljenih[_brojPrijavljenih++] = u;
- }
- Ucesnik & operator[](int v){
- return _prijavljenih[v];
- }
- };
- ostream & operator << (ostream & COUT, Ucesnik & u){
- COUT << u._id << " | " << u._imePrezime << " | " << u._datumPrijave << endl;
- return COUT;
- }
- int main(){
- Seminar s("10.04.2015", "Gorazde", 100);
- Ucesnik u1(1, "Nedim Fejzic", "10.04.1995");
- Ucesnik u2(2, "Saldina Nurak", "01.04.2015");
- Ucesnik u3;
- u3 = u2;
- s.prijaviUcesnika(u1);
- s.prijaviUcesnika(u2);
- s.ispis();
- cout << u1 << "------------------------" << endl;
- cout << s[0];
- /*
- // primjer operatora ==
- u1.ispis();
- u2.ispis();
- u3.ispis();
- if (u3 == u2){
- cout << "ISTI" << endl;
- }
- else cout << "RAZLICITI" << endl;
- */
- system("pause > null");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement