You are on page 1of 3

Algoritmikë dhe Programim i Avancuar Laboratori 1:

Qëllimi i laboratorit të parë është implementimi i një projekti ku përcaktohen dhe

implementohen dy klasa, klasa Libri dhe klasa Abonent.

1. Në një file libri.h implementoni klasën Libri që ka komponentët e mëposhtme:

• funksionet

o konstruktori default Libri()


o konstruktori Libri(string): vendos vetëm titullin e librit
o konstruktori Libri(int, string, string): vendos id dhe titullin e librit dhe emrin
e autorit
o afishoId(): kthen id e librit
o lexoId(int): vendos id e librit
o afishoTitull(): kthen titullin e librit
o lexoTitull(string): vendos titullin e librit
o afishoAutor(): kthen emrin e autorit te librit
o lexoAutor(string): vendos emrin e autorit te librit
o terhiq(): terheq librin nga bibloteka, funksioni kthen true nëse realizohet
veprimi dhe false në të kundërt
o kthe(): kthen librin në biblotekë, funksioni kthen true nëse realizohet veprimi
dhe false në të kundërt
o eshteTerhequr(): kthen true nqs libri është marre dhe false në të kundërt
o printo(): printon të gjithë të dhënat për librin
• anëtaret private

o idLibrit:integer
o titulliLibrit:string
o autori:string
o terhequr: boolean

Libri.h

#ifndef _LIBRI_H

#define _LIBRI_H

#include …

class Libri{

public:

Libri();

Libri(string);
Libri(int,string, int);

// ... per t’u plotesuar...

private:

int idLibrit;

// ... per t’u plotesuar ...

};

#endif // _LIBRI_H

2. Implementoni klasën Libri në file libri.cpp

#include

Libri::Libri(){}

// ... per t’u plotesuar...

3. Testoni klasën duke përdorur një file TestLibri.cpp


4. Implementoni klasën Abonent qe ka komponentët e mëposhtëm (supozoni qe abonenti mund të
tërhiqi maksimalisht 4 libra):

• Funksionet:

o Konstruktori default abonent(): vendosni titujt e 4 librave default dhe


tërhequr = false për secilin
o Konstruktori abonent(libri1, libri2, libri3, libri4): dhe tërhequr = false per
secilin
o lexoIdAbonent(id): vendos Id e abonentit
o afishoIdAbonent(): kthen Id e abonentit
o lexoEmriA(string): vendos emrin e abonentit
o afishoEmriA(): kthen emrin e abonentit
o kaTerhequrLiber():kthen true nëse abonenti ka libra të tërhequr
o terhiqLiber(i): tërheq librin i nga bibloteka (vendos tërheq në true) nëse
veprimi realizohet të kthehet true
o ktheLiber(i): kthen librin i në biblotekë (vendos tërhequr në false) nëse
veprimi realizohet të kthehet true
o afishoTitullLibri(i): kthen titullin e librit
o afishoTerhequr(i): kthen true ose false nëse libri i është tërhequr ose jo.
o afishoNrLibra(): kthen numrin e librave që ka tërhequr abonenti
o printAbonenti(): printon të gjithë informacionin e abonentit përfshire librat e
tërhequr ose jo.

• anëtaret private

o idAbonenti: integer
o emriAbonenti: string
o librat: për të implementuar këtë mund të përdoret një nga rastet:

a. Implementoni 4 objekte të klasës Libri për një objekt abonent.


b. Implementoni një objekt te klasës Libri që është një vektor me 4
elemente dhe ruan informacionin për 4 librave të abonentit.
* Implementimi dhe argumentimi i implementimit të opsionit b do të vlerësohet me 5 pikë

bonus.

5. Implementoni klasën Abonent në file abonenti.cpp.


6. Testoni klasën duke përdorur një file testAbonenti.cpp

Sqarime:

- Detyra e laboratorit duhet te jete e zgjidhur si nje projekt.


- Detyra e laboratorit qe duhet te dorëzoni duhet te jete e ekzekutueshme. Nese detyra
juaj nuk ekzekutohet dhe ka gabime ne kompilim nuk do te merret parasysh për
vlerësim.
- Nese ju nuk implementoni ndonjë nga kërkesat atëherë vlerësimi do te jete me i
ulet. Por detyra e laboratorit do te konsiderohet e dorëzuar dhe pranuar.
- Detyra e laboratorit duhet te ngarkohet ne assignment përkatës
Laboratori 1. Duhet te ngarkoni te gjithë file e detyrës se ekzekutueshme ne
formatin zip dhe nje dokument pdf ku te keni vetëm kodin e detyrës. Emri i skedarit
zip dhe file pdf duhet te jete i formës emer_mbiemer.zip ose .pdf, ku emer, mbiemër
eshte emri juaj.

You might also like