Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template<class T1, class T2>
- class Kolekcija{
- T1 * _elementi1;
- T2 * _elementi2;
- int _trenutnoElemenata;
- /*1. AddElement :: omogucava dodavanje novog elementa u kolekciju. Osigurati automatsko prosiranje kolekcije prilikom dodavanja svakog novog elementa, te onemoguciti ponavljanje elemenata.
- 2. RemoveElement :: na osnovu parametra tipa T1 uklanja elemente iz kolekcije i smanjuje velicinu niza. Ukoliko je potrebno, prilikom uklanjanja elementa izvrsiti dealokaciju. Prilikom uklanjanja elemenata ocuvati redoslijed njihovog dodavanja.
- 3. operator+ :: vraca objekat tipa Kolekcija koji u sebi sadrzi sve elemente objekta koji je
- pozvao funkciju i objekta koji je proslijedjen kao parametar (takodjer tipa Kolekcija), pri cemu se elementi unutar kreirane kolekcije ne smiju ponavljati (ne smiju postojati dva ista elementa).*/
- };
- class Student{
- const int _brojIndeksa;
- string _ime;
- string _prezime;
- string _korisnickomIme;
- string _lozinka;
- /*1. potrebne funkcije
- NAPOMENE:
- 2. lozinka mora postovati sljedeca pravila:
- 2.a: sadrzi kombinaciju slova, brojeva i nekog od specijalnih znakova
- 2.b: ne smije sadrzavati niti ime niti prezime
- 2.c: sadrzi minimalno 6 znakova
- postivanje navedenih pravila se mora osigurati prije kreiranje objekta tipa Student*/
- };
- class Ispit{
- protected:
- char * _opis;//npr. PR2::Integralni::30.01.2015
- /*tip string u kolekciji sluzi kao napomena vezana za ponasanje studenta na ispitu gdje ce se evidentirati utisci dezurnog nastavnika npr. kasnio, dosao bez indeksa, izbacen zbog prepisivanja*/
- Kolekcija<Student, string> * _listaStudenata;
- /*1. AddStudent :: dodaje podatke o studentu koji je pristupio ispitu uz odgovarajucu napomenu (napomena nije obavezna).Studentu nije dozvoljeno da dva puta pristupi istom ispitu, a u slucaju da pokusa pristupiti automatski se dodaje adekvatna napomena (npr. ponovo pokusao pristupiti). */
- };
- class Predmet{
- char * _nazivPredmeta;
- char * _profesor;
- //1. potrebne funkcije
- };
- class SkolskaGodina{
- char * _skolskaGodina;//npr.2014/2015
- Kolekcija<Predmet, Ispit> * _odrzaniIspiti;
- /*1. AddIspit::dodate podatke o odrzanom ispitu na odredjenom predmetu
- 2. RemoveIspit::uklanja podatke o odrzanom ispitu, ali samo pod uslovom da tom ispitu nije pristupio niti jedan student
- 3. GetBrojIzlazakaByPredmet::vraca podatak o tome koliko je puta trazeni student izasao na ispit iz odredjenog predmeta u toku skolske godine
- 4. operator()::vraca sve studente koji u napomeni posjeduju sadrzaj koji je proslijedjen kao parametar (npr.listu svih studenata koji u napomeni posjeduju sadrzaj "bez indeksa")
- 5. operator<<::ispisuje sve dostupne podatke o odrzanim ispitima i studentima koji su im pristupili*/
- };
- void main(){
- //izbjegavajte koristenje vlastitog imena i prezimena
- //provjeriti validnost izvrsenja svih dostupnih funkcionalnosti na objektu tipa SkolskaGodina
- }
Add Comment
Please, Sign In to add comment