Advertisement
ASDEVELOPMENT

PRIII - 2008

Dec 18th, 2015
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.00 KB | None | 0 0
  1.  *Prije nego što krenete sa izradom, ispitne zadatke kopirajte na desktop vašeg raèunara
  2. **Kreirajte .doc fajl sa vašim brojem indeksa i u njega kopirajte rješenja vaših zadataka.
  3. ***Tokom izrade ispita nije dozvoljeno korištenje help-a
  4. ****Tokom izrade ispita mogu biti pokrenuta samo tri programa: MS Visual Studio, PDF Reader (ispitni zadaci) i MS Word (u koji dete
  5. kopirati vaša rješenja)
  6. *****Ukoliko je neophodno, ispitne zadatke mozete proširiti dodatnim funkcionalnostima. Takoðer, dobrodošli su svi adekvatni komentari
  7. 1. Zadatak: Definisati klasu Pregled
  8. #include <iostream>
  9. //ostale biblioteke ukljucite po potrebi
  10. using namespace std;
  11. //ukoliko bude potrebno, odredjenim klasama mozete dodati funkcije
  12. //potrebne za pravilan rad programa
  13. class Osoba{
  14. protected:
  15. char * imePrezime;
  16. int godinaRodjenja;
  17. public:
  18. Osoba(char * ime_prezime,int godina_rodjenja){
  19. imePrezime = new char[strlen(ime_prezime)+1];
  20. strcpy(imePrezime,ime_prezime);
  21. godinaRodjenja = godina_rodjenja;
  22. }
  23. virtual string Info()=0;
  24. };
  25. class Pregled{
  26. string NazivBolesti;
  27. vector<string> propisaneTerapije;
  28. public:
  29. Pregled(string naziv,string terapija){
  30. //definisite funkciju
  31. }
  32. string getNaziv()const{return NazivBolesti;}
  33. void addTerapiju(string terapija){
  34. //definisite funkciju
  35. }
  36. string Info(){
  37. //funkcija Info treba da vrati string koji sadrzi informacije o pregledu i svim
  38. //njegovim terapijama(prilikom pregleda je moguce propisati veci broj terapija)
  39. }
  40. string operator[](int lokacija)throw(exception){
  41. //operator[] treba da vrati terapiju koja se u vektoru propisaneTerapije
  42. //nalazi na lokaciji odredjenoj parametrom funkcije
  43. //ukoliko zahtijevana lokacija ne postoji funkcija treba da baci izuzetak
  44. }
  45. bool operator!=(Pregled & obj){
  46. //da bi dva pregleda bila jednaka moraju biti jednake vrijednosti
  47. //svih njihovih atributa
  48. }
  49. };
  50. 2. Zadatak: Definisati klasu template klasu Niz
  51. template<class T, int max>
  52. class Niz{
  53. int brojac;
  54. T elementi[max];
  55. public:
  56. Niz(){
  57. //na odgovarajuci nacin inicijalizujte atribute klase
  58. }
  59. ~Niz(){
  60. //izvrsite potrebnu dealokaciju
  61. }
  62.  
  63.  
  64.  Niz(Niz<T,max> & obj){
  65. //definisite funkciju
  66. }
  67. void addElement(const T& obj)throw(exception){
  68. //funkcija addElement u niz elementi dodaje objekat obj koji je primljen kao
  69. //parametar. U slucaju prekoracenja broja elemenata u nizu funkcija treba da baci
  70. //izuzetak sa odgovarajucom porukom
  71. }
  72. int getMaxElemenata(){return max;}
  73. int getTrenutnoElemenata(){return brojac;}
  74. T& operator[](int lokacija)throw (exception){
  75. //funkcija vraca referencu na element koji se u nizu elementi nalazi na lokaciji
  76. //odredjenoj parametrom funkcije. Ukoliko zahtijevana lokacija ne postoji
  77. //funkcija treba da baci izuzetak sa odgovarajucom porukom
  78. }
  79. bool operator==(Niz<T,max> & obj){
  80. //da bi dva objekta tipa Niz bila jednaka moraju biti jednake vrijednosti
  81. //svih njihovih atributa
  82. }
  83. };
  84. 3. Zadatak: Definisati klasu Pacijent i main funkciju
  85. class Pacijent:public Osoba{
  86. string brojZL; //broj zdravstvene legitimacije
  87. Niz<Pregled,40> pregledi;
  88. public:
  89. Pacijent(char * ip,int godina, string brZL){
  90. //definisite funkciju
  91. }
  92. string Info(){
  93. //funkcija Info treba da vrati string unutar koga se nalaze
  94. //podaci o pacijentu i svim njegovim pregledima
  95. }
  96. void addPregled(string nazivBolesti, string terapija){
  97. //funkcija addPregled dodaje novi pregled u Niz pregledi
  98. }
  99. void addTerapiju(string nazivBolesti, string terapija){
  100. //funkcija addTerapaija dodaje novu terapiju posljednjem pregledu pacijenta
  101. //prilikom kojeg je ustanovljena bolest sa nazivom koji odgovara vrijednosti
  102. //parametra nazivBolesti
  103. }
  104. bool operator==(Pacijent & obj){
  105. //da bi dva objekta tipa Pacijent bila jednaka moraju biti jednake vrijednosti
  106. //svih njihovih atributa
  107. }
  108. };
  109. void main(){
  110. //Kreirati dva objekta tipa Pacijent
  111. //Na kreiranim objektima demonstrirati koristenje prethodno kreiranih funkcija
  112. //Obraditi sve izuzetke koji se mogu desiti tokom izvrsenja programa
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement