aaa213

Denis_zadao

Feb 7th, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. template<class T1, class T2>
  2. class Kolekcija{
  3. T1 * _elementi1;
  4. T2 * _elementi2;
  5. int _trenutnoElemenata;
  6. /*1. AddElement :: omogucava dodavanje novog elementa u kolekciju. Osigurati automatsko prosiranje kolekcije prilikom dodavanja svakog novog elementa, te onemoguciti ponavljanje elemenata.
  7. 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.
  8. 3. operator+ :: vraca objekat tipa Kolekcija koji u sebi sadrzi sve elemente objekta koji je
  9. 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).*/
  10. };
  11. class Student{
  12. const int _brojIndeksa;
  13. string _ime;
  14. string _prezime;
  15. string _korisnickomIme;
  16. string _lozinka;
  17. /*1. potrebne funkcije
  18. NAPOMENE:
  19. 2. lozinka mora postovati sljedeca pravila:
  20. 2.a: sadrzi kombinaciju slova, brojeva i nekog od specijalnih znakova
  21. 2.b: ne smije sadrzavati niti ime niti prezime
  22. 2.c: sadrzi minimalno 6 znakova
  23. postivanje navedenih pravila se mora osigurati prije kreiranje objekta tipa Student*/
  24. };
  25. class Ispit{
  26. protected:
  27. char * _opis;//npr. PR2::Integralni::30.01.2015
  28. /*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*/
  29. Kolekcija<Student, string> * _listaStudenata;
  30. /*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). */
  31. };
  32. class Predmet{
  33. char * _nazivPredmeta;
  34. char * _profesor;
  35. //1. potrebne funkcije
  36. };
  37. class SkolskaGodina{
  38. char * _skolskaGodina;//npr.2014/2015
  39. Kolekcija<Predmet, Ispit> * _odrzaniIspiti;
  40. /*1. AddIspit::dodate podatke o odrzanom ispitu na odredjenom predmetu
  41. 2. RemoveIspit::uklanja podatke o odrzanom ispitu, ali samo pod uslovom da tom ispitu nije pristupio niti jedan student
  42. 3. GetBrojIzlazakaByPredmet::vraca podatak o tome koliko je puta trazeni student izasao na ispit iz odredjenog predmeta u toku skolske godine
  43. 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")
  44. 5. operator<<::ispisuje sve dostupne podatke o odrzanim ispitima i studentima koji su im pristupili*/
  45. };
  46. void main(){
  47. //izbjegavajte koristenje vlastitog imena i prezimena
  48. //provjeriti validnost izvrsenja svih dostupnih funkcionalnosti na objektu tipa SkolskaGodina
  49. }
Add Comment
Please, Sign In to add comment