Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *Prije nego što krenete sa izradom, ispitne zadatke kopirajte na desktop vašeg raèunara
- **Kreirajte .doc fajl sa vašim brojem indeksa i u njega kopirajte rješenja vaših zadataka.
- ***Tokom izrade ispita nije dozvoljeno korištenje help-a
- ****Tokom izrade ispita mogu biti pokrenuta samo tri programa: MS Visual Studio, PDF Reader (ispitni zadaci) i MS Word (u koji dete
- kopirati vaša rješenja)
- *****Ukoliko je neophodno, ispitne zadatke mozete proširiti dodatnim funkcionalnostima. Takoðer, dobrodošli su svi adekvatni komentari
- 1. Zadatak: Definisati klasu Pregled
- #include <iostream>
- //ostale biblioteke ukljucite po potrebi
- using namespace std;
- //ukoliko bude potrebno, odredjenim klasama mozete dodati funkcije
- //potrebne za pravilan rad programa
- class Osoba{
- protected:
- char * imePrezime;
- int godinaRodjenja;
- public:
- Osoba(char * ime_prezime,int godina_rodjenja){
- imePrezime = new char[strlen(ime_prezime)+1];
- strcpy(imePrezime,ime_prezime);
- godinaRodjenja = godina_rodjenja;
- }
- virtual string Info()=0;
- };
- class Pregled{
- string NazivBolesti;
- vector<string> propisaneTerapije;
- public:
- Pregled(string naziv,string terapija){
- //definisite funkciju
- }
- string getNaziv()const{return NazivBolesti;}
- void addTerapiju(string terapija){
- //definisite funkciju
- }
- string Info(){
- //funkcija Info treba da vrati string koji sadrzi informacije o pregledu i svim
- //njegovim terapijama(prilikom pregleda je moguce propisati veci broj terapija)
- }
- string operator[](int lokacija)throw(exception){
- //operator[] treba da vrati terapiju koja se u vektoru propisaneTerapije
- //nalazi na lokaciji odredjenoj parametrom funkcije
- //ukoliko zahtijevana lokacija ne postoji funkcija treba da baci izuzetak
- }
- bool operator!=(Pregled & obj){
- //da bi dva pregleda bila jednaka moraju biti jednake vrijednosti
- //svih njihovih atributa
- }
- };
- 2. Zadatak: Definisati klasu template klasu Niz
- template<class T, int max>
- class Niz{
- int brojac;
- T elementi[max];
- public:
- Niz(){
- //na odgovarajuci nacin inicijalizujte atribute klase
- }
- ~Niz(){
- //izvrsite potrebnu dealokaciju
- }
- Niz(Niz<T,max> & obj){
- //definisite funkciju
- }
- void addElement(const T& obj)throw(exception){
- //funkcija addElement u niz elementi dodaje objekat obj koji je primljen kao
- //parametar. U slucaju prekoracenja broja elemenata u nizu funkcija treba da baci
- //izuzetak sa odgovarajucom porukom
- }
- int getMaxElemenata(){return max;}
- int getTrenutnoElemenata(){return brojac;}
- T& operator[](int lokacija)throw (exception){
- //funkcija vraca referencu na element koji se u nizu elementi nalazi na lokaciji
- //odredjenoj parametrom funkcije. Ukoliko zahtijevana lokacija ne postoji
- //funkcija treba da baci izuzetak sa odgovarajucom porukom
- }
- bool operator==(Niz<T,max> & obj){
- //da bi dva objekta tipa Niz bila jednaka moraju biti jednake vrijednosti
- //svih njihovih atributa
- }
- };
- 3. Zadatak: Definisati klasu Pacijent i main funkciju
- class Pacijent:public Osoba{
- string brojZL; //broj zdravstvene legitimacije
- Niz<Pregled,40> pregledi;
- public:
- Pacijent(char * ip,int godina, string brZL){
- //definisite funkciju
- }
- string Info(){
- //funkcija Info treba da vrati string unutar koga se nalaze
- //podaci o pacijentu i svim njegovim pregledima
- }
- void addPregled(string nazivBolesti, string terapija){
- //funkcija addPregled dodaje novi pregled u Niz pregledi
- }
- void addTerapiju(string nazivBolesti, string terapija){
- //funkcija addTerapaija dodaje novu terapiju posljednjem pregledu pacijenta
- //prilikom kojeg je ustanovljena bolest sa nazivom koji odgovara vrijednosti
- //parametra nazivBolesti
- }
- bool operator==(Pacijent & obj){
- //da bi dva objekta tipa Pacijent bila jednaka moraju biti jednake vrijednosti
- //svih njihovih atributa
- }
- };
- void main(){
- //Kreirati dva objekta tipa Pacijent
- //Na kreiranim objektima demonstrirati koristenje prethodno kreiranih funkcija
- //Obraditi sve izuzetke koji se mogu desiti tokom izvrsenja programa
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement