ASDEVELOPMENT

Untitled

Jan 30th, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.04 KB | None | 0 0
  1. template<class T1, class T2>
  2. class Kolekcija{
  3. T1 * _elementi1;
  4. T2 * _elementi2;
  5. int _trenutnoElemenata;
  6. /*
  7. 1. AddElement :: omogucava dodavanje novog elementa u kolekciju. Ukoliko je moguce, osigurati automatsko prosiranje kolekcije prilikom dodavanja svakog novog elementa, te onemoguciti ponavljanje elemenata
  8. 2. RemoveElement :: na osnovu parametra tipa T1 uklanja elemente iz kolekcije i ukoliko je moguce smanjuje velicinu niza/kolekcije. Prilikom uklanjanja elemenata ocuvati redoslijed njihovog dodavanja
  9. */
  10. };
  11. class Datum{
  12. int *_dan, *_mjesec, *_godina;
  13. //1. potrebne funkcije
  14. };
  15. class Pitanje{
  16. const int _pitanjeID;
  17. char * _tekst;
  18. char * _odgovori[10];//maksimalno 10 odgovora
  19. int _tacan;//lokacija tacnog odgovora - svako pitanje moze imati samo jedan tacan odgovor
  20. int _bodova; //broj bodova koje nosi pitanje
  21. Datum _datumKreiranja;
  22. /* 
  23. 1.AddOdgovor :: dodaje novi odgovor u listu ponudjenih odgovora. Voditi racuna da novi odgovor moze biti tacan
  24. 2.RemoveOdgovor :: na osnovu lokacije u nizu uklanja podatke o ponudjenom odgovoru. Prilikom uklanjanja ocuvati redoslijed dodavanja odgovora. Uklanjanje tacnog odgovora zahtijeva odabir novog tacnog dogovora osim u slucaju da se uklanja posljednji ponudjeni odgovor
  25. 3.operator<< :: ispisuje pitanje sa svim ponudjenim odgovorima
  26. */
  27. };
  28. class Kandidat{
  29. char * _imePrezime;
  30. char _JMBG[14];
  31. //argument tipa int ce cuvati informaciju o odgovoru koji je kandidat dao na ponudjeno pitanje
  32. Kolekcija<Pitanje, int> _kandidatPitanjaOdgovori;
  33. /*
  34. 1.AddPitanje :: dodaje pitanje na koje kandidat treba odgovoriti tokom prijemnog ispita
  35. 2.RemovePitanje :: na osnovu teksta pitanja, uklanja podatke o pitanju
  36. 3.GetBrojBodova :: vraca broj bodova koje je kandidat ostvario na prijemnom ispitu. Za netacan odgovor kandidat osvaja 0 bodova, a u suprotnom osvaja broj bodova koje nosi to pitanje
  37. */
  38. };
  39.  
  40. class PrijemniIspit{
  41. Datum _datumOdrzavanja;
  42. vector<Kandidat *> _prijavljeniKandidati;
  43. int _pragProlaznosti; //prag prolaznosti na prijemnom ispitu npr. 30 bodova
  44. int _brojPitanja;
  45. /*
  46. 1. DodajKandidata :: dodaje novog kandidata koji ce polagati prijemni ispit
  47. 2. PokreniIspit :: na osnovu parametra koji predstavlja JMBG kandidata pokrece prijemni ispit i kandidatu omogucava unos odgovora na postavljena pitanja. Za pokretanje prijemnog ispita kandidat mora posjedovati broj pitanja koja su definisana atributom _brojPitanja
  48. 3. DodajPitanje :: dodaje novo pitanje kandidatu sa vrijednoscu JMBG-a koji je proslijedjen kao parametar. Datum kreiranja novog pitanja ne smije biti manji od datuma odrzavanja prijemnog ispita
  49. 4. PrikaziUspjeh :: treba da ispise uspjeh prijavljenih kandidata organizovan po sljedecim kategorijama:
  50. a.Polozili
  51. b.Nisu polozili
  52. c.Nisu izasli
  53. d.Ne zadovoljavaju uslove (nemaju dovoljan broj pitanja)
  54. 5. GetTacneOdgovore :: vraca niz kandidata koji su tacno odgovorili na pitanje koje je proslijedjeno kao parametar
  55. */
  56. };
  57. void main(){
  58. //izbjegavajte koristenje vlastitog imena i prezimena
  59. //provjeriti validnost izvrsenja svih dostupnih funkcionalnosti na objektu tipa PrijemniIspit
  60. }
Add Comment
Please, Sign In to add comment